Search Unity

Smooth Moves - 2D Skeletal Animation

Discussion in 'Assets and Asset Store' started by echo17, Feb 20, 2012.

  1. Kiori

    Kiori

    Joined:
    Jun 25, 2014
    Posts:
    159
    Thanks for the swift reply.
    Yes Spriter is quite good as a program, and cheaper than spline, but the unity integration was made by a community member, so for now its quite crappy.

    About SM:
    You said thousands would bee too heavy, but what about a scene with about 30 characters and a few effects, could a lower end mobile handle it? This might be useful for me in the future.

    Also, have you tested your performance versus other solutions like Puppet2d?

    You talked about how mecanim has overhead, but doesnt SM+Playmaker have a higher overhead, due to playmaker?

    Thanks again.
     
  2. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Take a look at the free minigame "Rise of the Dough" on the Asset Store (this also comes with SmoothMoves as a demo). You can compile, modify, and test the game on your devices. Try instantiating a lot of chef characters and see if it handles as you would like. You won't be able to create new animations or modify existing ones since the free game doesn't have the SmoothMoves editor, but you can modify the game scripts all you like. Link here: https://www.assetstore.unity3d.com/en/#!/content/5162

    No, I have not.

    I don't know what the specific overhead of Playmaker is. I personally don't use it because I am a coder. You'd probably get good responses from the Playmaker folks or the forums if you are interested in this information.
     
  3. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
    hi there..

    Just a Question:
    Can you add an option to show an image in the background of the animation Editor? So we can paste an animation zyclus image at the background to animate with it?
     
  4. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    You could create an extra bone of image type and place it on a very high depth to be in the background. Then, before you build the animation, just toggle the visibility by clicking on the eyeball next to the bone name.

    From page 44 of the user manual (http://echo17.com/support/smoothmoves_user_manual_v2.pdf)



     
  5. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Check out Gravity Ghost, a new game available on Steam. Animations were made using SmoothMoves!

    Gravity Ghost

    Website | Steam

     
  6. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Check out this cool fight demo by HKSpades. Animations were made in SmoothMoves!

     
  7. Ovredon

    Ovredon

    Joined:
    Jul 13, 2013
    Posts:
    161
    Hey, echo17.

    Just want to start by saying, I've had no education or prior experience with Animation, however I'm finding the Smooth Moves tools very useful and easy to learn, so on that front I thank you for creating them!

    However I am having two issues using SmoothMoves, I admit that they are probably a fault of my own doing, though you might know what is causing them, hence why I'm bringing the problem here.

    First Problem:
    I attach a Bone Animation component onto a gameObject and select the bone animation I would like to use, I then build the animation so that the Skinned Mesh and such is created on that gameObject. For some reason the entire lot of the components including the mesh, materials, animator etc is duplicating, leaving me with for example Two _Root gameObject children with all the assets that make up that animation. This is seemingly random, so I cannot think of what is causing this.

    ImageExample2.png

    Second Problem:
    Is it possible to edit the gameObject to speedily attach a Weapon onto a build product of the animation, like I've annotated below. Or is this going to cause issues. The only issue its causing me at the moment is that when the Animation on the gameObject is rebuild the position of the Weapon gameObject is askew.

    ImageExample.png

    I'm fairly certain that the two issues aren't related as the first one has happened to gameObjects where I havn't attempted to do the method explained in my second problem.


    P.S I did read a lot of this thread and did many google searches to see if I could find an answer before replying here.
    Also I know for my second issue that materials can be swapped out with Smooth Moves, but the method I wanted to do it is a bit simpler and quicker, though I know its a bit dirty.
     
    Last edited: Mar 3, 2015
  8. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    It looks like you have the BoneAnimation embedded inside another prefab. Please see this FAQ: http://www.echo17.com/forum/index.php?topic=247.msg360#msg360

    You could reference the Bone at runtime, then use that transform as the parent to your weapon object. Please see this FAQ on how to reference bones at runtime: http://www.echo17.com/forum/index.php?topic=247.msg345#msg345

    Once you have the bone transform, you can just set the parent of your weapon object to the bone. Like:

    Code (CSharp):
    1. public Transform weaponTransform;
    2. public BoneAnimation boneAnimation;
    3. public string boneName;
    4.  
    5. weaponTransform.SetParent(boneAnimation.GetBoneTransform(boneName));
     
  9. Ovredon

    Ovredon

    Joined:
    Jul 13, 2013
    Posts:
    161
    Thanks for your Reply Echo, it has cleared a few things up and gave me the answers I needed to move forward.
     
  10. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,587
    Hi Echo,

    My whole project was based on a 2.5D setup, where i used the Z positioning to prevent flicker from the overlapping stuff and give depth to the 2D by placing parts in Z cleverly.

    Does this mean that i cannot use any of that in Unity 5 ? Is there any work around this ? Will depth remove overlap flickering and move to the actual Z in the scene, maybe i could use this instead ?

    Reference
    (http://www.echo17.com/forum/index.php?topic=247.msg2212#msg2212)

    Also when will version 2.6.0 for Unity 5 release ?

    Thanks

    EDIT: From what i see i can use the version i had and works in Unity 5. So maybe i go with this one for now.
     
    Last edited: Mar 4, 2015
  11. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Yeah, unfortunately the Unity design team decided to remove the ability to control the order of rendering within a mesh. This means that multiple submeshes may get out of order when rendered in Unity 5. To get around this new limitation, I had to hijack the z position of the bones to allow the camera to sort by z depth. This will definitely impact you with the perspective distortion.

    You may want to write the Unity dev team about this. If they get enough pushback from the community, they may decide to give control of the submesh ordering back to us.

    FYI, there shouldn't be any flicker due to overlap. SmoothMoves was using the mesh triangle ordering so that the proper triangles would be rendered in the correct place based on the depth setting in the animation.

    The Unity Asset store was having some troubles. The dev team assured us that we could upload a new version compatible with Unity 5 before they went live, but it doesn't look like it updated the package. I went ahead and resubmitted the new version 2.6.0, so it should be live soon.

    You may not want to upgrade to the newer version 2.6 since you are needing the z position for your perspective features. Might be better to keep with 2.5.x, at least keep a backup of the 2.5.x code handy.
     
    Last edited: Mar 4, 2015
  12. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,587
    Thanks for the clarifications. I will use the current version until some other solution or option is available. I have tested it and everything seems to work ok, so all is fine :)
     
  13. ilkeryuksel

    ilkeryuksel

    Joined:
    Apr 15, 2011
    Posts:
    13
    Which version will support "Animator Tool" ?
     
  14. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    SmoothMoves uses it's own animation editor, so you won't need to use Unity's animator tool.
     
  15. Ovredon

    Ovredon

    Joined:
    Jul 13, 2013
    Posts:
    161
    Hey again Echo. I posted here last month about attaching a Weapon onto a Bone by parenting it.

    So I'm doing that on a bone called Weapon. The Weapon bone has a Depth of 9, however the weapon that is parented to the Weapon Bone is still appearing over things which have a depth of 8 and below.

    The weird part is that during gameplay the gameObject parented to the Weapon Bone is popping over and then below parts of the skinned mesh character.

    The local positions of the gameObject Weapon is 0, so that is not the reason either.

    -I've tried having a larger depth difference between the weapon bone and the nearest depth value bone.
    -Tried rebuilding the animation and even deleting the gameObject and remaking it.

    Any ideas on why this is happening or how to fix it?
     
  16. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    As far as i know, the skinned animation will render all of its components together. So any other objects "sandwiched" between the bones sprites of your animation will either render before or after the animation as a whole.

    Take a look at this thread for more info and a possible workaround: http://www.echo17.com/forum/index.p...b5351507afdedd93c03ef&topic=322.msg670#msg670
     
  17. Ovredon

    Ovredon

    Joined:
    Jul 13, 2013
    Posts:
    161
    Thanks I think I know what I must do now to fix the issue, Assigning a Z value like I did the Depth so that gameobjects which I attach to the mesh will layer properly based on its Z position in the world..
     
  18. Hyper-Luminal-Games

    Hyper-Luminal-Games

    Joined:
    Jun 24, 2014
    Posts:
    108
    Hi Echo,

    I am investigating the possibility of using Smooth Moves for an upcoming project. I wanted to ask a few questions about the technology, I hope you don't mind.

    - Does Smooth Moves have support for an "Onion Skin" preview?
    - Does Smooth Moves work in a WebGL Export?

    Cheers,
     
  19. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Unfortunately, no.

    I'm not sure. I tried building for webgl beta on Windows 7 64, but it hangs on compiling JS. Googling this issue, it seems this is common, so it might not be SmoothMoves causing the problem.

    The good news is that there is a test project on the asset store that will let you try out a runtime demo of the plugin. You won't be able to make or edit the animations, but you can do everything that you would be able to do at runtime. You can also build to any platform for testing.

    You can find the "Rise of the Dough" minigame here:

    https://www.assetstore.unity3d.com/en/#!/content/5162

    Also, if you are still interested, please check out my many resources that will help you make a purchasing decision:

    Website: http://echo17.com/smoothmoves.html
    Forum & FAQ: http://www.echo17.com/forum/index.php?PHPSESSID=70a99e8e9509338baeb7088d2d8ad556&board=2.0
    Manual: http://echo17.com/support/smoothmoves_user_manual_v2.pdf
    Training Videos (older, but relevant): https://www.youtube.com/playlist?list=PLD2873938D82E35B6
    Training Videos (newer): https://www.youtube.com/playlist?list=PLjYmNMuT5cq_UArZBORUbZqdhphTIXEHP
     
  20. miken619

    miken619

    Joined:
    Apr 29, 2015
    Posts:
    11
    Hi guys,

    I'm interested in buying the Smooth Moves but I have a couple of question I hope someone can answer
    I'm developing a isometric game for mobile devices

    1). If I have 8 sprites of a 3D model facing 8 direction, if I splice one of the sprite and do an animation on it, can I apply the same animation to all other sprites in different direction

    2). Can I interchange armor and weapons before starting a mission?

    3). How does it handle animation when the sprite switches direction, for example if it is in the middle of a 30 frame animation, will there be a glitch in the graphics when it start the animation at the same frame but in a different direction?

    4). Is it optimize to handle large amount of sprite on screen at one time? Like Clash of Clan
     
  21. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I haven't tried isometric animations before so I'm not sure how that would work. It would seem you would need to do animations for each of the different directions you could be facing. I can't think of a way you could share those animations since they would be totally different.

    There is a couple of ways to do this:

    1) Swap out the entire atlas / material:
    http://www.echo17.com/forum/index.p...b748bc32b5ab42fac4fce&topic=247.msg406#msg406

    http://www.echo17.com/forum/index.p...b748bc32b5ab42fac4fce&topic=247.msg405#msg405

    2) Swap out just the textures you want to replace
    http://www.echo17.com/forum/index.p...b748bc32b5ab42fac4fce&topic=247.msg373#msg373



    I'm not sure what you mean by glitch, but if you stop an animation and start it in a new direction, then it will appear to jump suddenly to that new direction. That is just the nature of 2D animation, the only way around that would be to use 3D models. For the 2D animation, you would just have to call the stop on the currently playing clip, then start the new clip, but it would definitely jump if that is what you mean by glitch.

    That depends largely on how complex your animations are, how many materials each one uses, and the platform that is running the game. Each animation requires at least one draw call (more if they use multiple materials) due to the nature of how Unity renders skinned meshes.

    Take a look at this video that shows a bunch of very simple knight animations running on an iPad 1:



    FYI, there is a test project on the asset store that will let you try out a runtime demo of the plugin. You won't be able to make or edit the animations, but you can do everything that you would be able to do at runtime. You can also build to any platform for testing.

    You can find the "Rise of the Dough" minigame here:

    https://www.assetstore.unity3d.com/en/#!/content/5162
     
  22. FisherM

    FisherM

    Unity Technologies

    Joined:
    Dec 28, 2013
    Posts:
    366
    can it be used to make isometric animations for the vertical and downward axis?
     
  23. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    You could, but you would need to rotate the game objects along both axis so that the animations are attached to so that they face the camera.
     
  24. FisherM

    FisherM

    Unity Technologies

    Joined:
    Dec 28, 2013
    Posts:
    366
    Sorry you'd need to elaborate slightly.
    So the system only animates the 2d axis' so I'd need to handle all the ... z axis... animation? would the plane with the sprite still follow the bones well?
     
  25. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    SmoothMoves actually animates on all three axis, but it is common in 2D to just focus on two of these axis. Keep in mind that SmoothMoves animations are still in the Unity 3D environment, so you can rotate the animations along any axis. They will still animate in their own local 2D plane, but that plane can be at any angle in the overall 3D scene. Have a look at this post to get some more ideas that may help:

    http://forum.unity3d.com/threads/smooth-moves-2d-skeletal-animation.124211/page-24#post-1186763
     
  26. jpatinop80

    jpatinop80

    Joined:
    Jul 29, 2012
    Posts:
    55
    Hi, I´m getting one error and one warning.. warning: The AnimationClip 'My-Anim' used by the Animation component 'Bone Animation' must be marked as Legacy.
    and Error:
    Could not find an animation state for the animation [My-Anim2]
    UnityEngine.Debug:LogError(Object)
    SmoothMoves.BoneAnimation:Awake()

    What is the problem? thanks!!!
     
  27. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I've seen reports of this, but I have not received follow up from the people reporting and I am unable to reproduce on the latest version of Unity. Can you confirm that you are using Unity version 5.1.2 or higher and SmoothMoves 2.6.0?

    This may be due to the Bone Animation scene object data getting out of sync with the project BoneAnimationData. This can happen sometimes if Unity is trying to compile while other changes are taking place.

    Try deleting the BoneAnimation scene object (NOT the animation data in your project), recreate the BoneAnimation scene object and attach the data from your project folder. Then rebuild. That usually clears that up.
     
  28. jpatinop80

    jpatinop80

    Joined:
    Jul 29, 2012
    Posts:
    55
    I was Using an older version I updated and work great... I have other question... I have the boneAnimation Game Object, and I attached to it some scripts and audio Source and Collider, the problem is when I change something in the animation, to works I have to force Build BoneAnimation and that force build deleted all that scripts and colliders, and I have to do all that process again I waste some time doing that if I have lots of BoneAnimations, is there a way to avoid Force Build to make animations changes work on BoneAnimations? thanks!!!
     
  29. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I try to keep my BoneAnimation component on a GameObject all by itself as a child of a parent controller object. I put my script for controlling the animation on the parent GameObject along with colliders, audio effects, etc. Then in a child GameObject I have the BoneAnimation. That way if the BoneAnimation is ever rebuilt, the other components are not affected.

    Have a look at the Rise of the Dough project included with the plugin. You'll see an example of this structure in the Chef object and its child animation object.
     
  30. jpatinop80

    jpatinop80

    Joined:
    Jul 29, 2012
    Posts:
    55
    Ok, thank you... I have other question... i got two elements on scene, two boneAnimations, one is behind of the other, I use box collider 2d, on each element to trigger animation on touch or click, the problem is that the back object box collider is covering the touch of the object in front, so if I touch the front element it will play animation in the back, but the element are not touching each other, but if you look on the camera the head of the front object is over the back object, so if I touch the head, play back animation, but if I touch body of from object plays front object animation... how could I manage the sorting layers with boneAnimations? thank you Captura de pantalla 2015-09-07 a las 3.31.19 p.m..png
     
  31. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    You may need to offset the z position of your head bone so that it is in front of the body bone. SmoothMoves places all the bones in the same z position by default, so the order of the boxes will be arbitrary. By offsetting the z position manually, you will force the order of the boxes for physics calculations. You can change the z position in the animation itself. Just be sure to have at least two z position keys for each clip you want the position to be different.
     
  32. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
  33. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    It has been successfully tested up to the current version of Unity (5.2.2 as of this post).

    No, unfortunately not. SmoothMoves creates its own meshes based on the textures in your animation data. Outside meshes cannot be used inside the animation.

    However, you can attach any object, whether it is 3D or some 2D mesh, to a bone of the animation. So in that way you could attach objects created with SVGImporter to a SmoothMoves bone. You would just need to get the bone in script, then set your object's parent transform to the bone.

    Something like:

    Code (CSharp):
    1. var leftHandBone = boneAnimation.GetBoneTransform("Left Hand");
    2.  
    3. myObject.transform.SetParent(leftHandBone);
     
  34. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
  35. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Hi there.

    I don't currently own that asset, so I couldn't speak for its compatibility. Just from the description and videos, it appears to be a shader, but again, that is just my perception. If it is a shader, then you could use it on the materials in your SmoothMoves atlases. Just keep in mind that SmoothMoves does not use sprites, it is a mesh generator tool. So if the 2DxFX is specific to Unity sprites, then you would not be able to use it in SmoothMoves.

    Hope this helps!
     
  36. Jason Mars

    Jason Mars

    Joined:
    Oct 22, 2013
    Posts:
    1
    大家好,
    如果我想升级Smooth Moves 到2.6.0 我需要重新购买新的吗? 还是直接更新就可以 "This extension requires one license per seat" 是什么意思?


    Hi there:
    if I want update the Smooth move to 2.6.0, Should I purchase it again? or direct download? what's mean of"This extension requires one license per seat"
     
  37. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Once you have purchased SmoothMoves, all updates are free of charge. One license per seat means on license per developer. So if you have a team of four people, you would need four licenses. If it is just you, then you only need the one copy.
     
  38. SVC-Games

    SVC-Games

    Joined:
    May 21, 2013
    Posts:
    105
    I have 2 pc's, a workstation and a portable. Does that count as 2 seats? I'm afraid of opening my projects on the laptop and losing my license because it's a different computer.
     
  39. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I believe Unity's license defines a seat as a person. So you could use the plugin on multiple computers so long as you are the only one using it. Check out this link to the Unity Asset Store EULA for more information:

    https://unity3d.com/legal/as_terms
     
  40. jrDev

    jrDev

    Joined:
    Nov 5, 2008
    Posts:
    1,664
    Hey echo17,

    So I'm having this issue where the demo chefs animation can be played back in editor through the Animation Window but a custom sprite that was created has an issue doing the same. So essentially cannot do playback in Unity Animation Window, is there something I am missing?

    Thanks,
    jrDev
     
  41. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    I don't think I can answer that without seeing your project. Please see this FAQ: http://www.echo17.com/forum/index.php?topic=247.msg800#msg800
     
  42. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    1) Yes, you will need the SmoothMoves runtime to play back the animations. The editor portion is only needed to create the animations and isn't used at runtime.
    2) No, sorry. SmoothMoves is a skeletal animation system that will move your bones in a smooth manner. You can incorporate sprite animations on any of your bones, but it does not export sprite sheets for you.
     
  43. Richardbmth

    Richardbmth

    Joined:
    Mar 5, 2016
    Posts:
    29
    I noticed in my Asset store downloads that SmoothMoves is deprecated? Is 2.9.0 the final release and do you anticipate any problems with 2017.2 release?
     
    nasos_333 likes this.
  44. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,587
    Is the system deprecated forever, or in anticipation of a new version ?

    Thanks
     
  45. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Sadly, SmoothMoves has been permanently deprecated. Sales had dwindled over time to nothing, so I could not justify the cost of support. I do not plan to release any more updates, but if you come across something major, email me at the link in my signature and I will see what I can do.
     
  46. Richardbmth

    Richardbmth

    Joined:
    Mar 5, 2016
    Posts:
    29
    It's a shame but understandable. I briefly tried out the Anima2D free tool, but found the workflow just wasn't as simple as SmoothMoves and found it difficult to replicate our character animation. It's one of the great 'it just works' assets.

    We're hoping to release our game using SmoothMoves at the end of October/November (we'll let you know what the game is when it's released). Touch wood, Smooth Moves never gives us problems when upgrading to the next major Unity version.

    All the best for the future.
     
  47. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,195
    Thanks for the kind words. Good luck on the game release, I can't wait to see it!