Search Unity

Smooth Moves - 2D Skeletal Animation

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

  1. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    60% off!


    Happy Birthday Unity Asset Store! To help celebrate three years of amazing success, Unity has invited SmoothMoves to be part of their big birthday bonanza sale. Get SmoothMoves for 60% off for a limited time!

    https://www.assetstore.unity3d.com/#/content/2844
     
  2. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Just bought it at the Birthday Bonanza sales. Installed and now it spit out this error message :

    Previews cannot be generated for this file 'Assets/Rise of the Dough/Music/tangor.mod' (This audio format does not contain PCM data to preview).


    EDIT: After checking against Unity documentation, this just seems like a superfluous error message.
    "The tracker module assets behave the same way as any other audio assets in Unity although no waveform preview is available in the asset import inspector."
    http://docs.unity3d.com/Documentation/Manual/AudioFiles.html
     
    Last edited: Nov 3, 2013
  3. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Yep, you are correct, it is just a harmless message from Unity. FYI, it is just a warning, so those are generally not harmful to the build, more informational.
     
  4. zwwdm

    zwwdm

    Joined:
    Nov 5, 2013
    Posts:
    1
    I encountered the same error, do not know how to do, I hope you can help me, error code:
    NullReferenceException: Object reference not set to an instance of an object
    SmoothMoves.AnimationWindow.CalculateAnimationWindowBones (SmoothMoves.BoneTree boneTree, Single parentRotation, Vector3 parentGlobalScale)
    SmoothMoves.AnimationWindow.CalculateAnimationWindowBones (SmoothMoves.BoneTree boneTree, Single parentRotation, Vector3 parentGlobalScale)
    SmoothMoves.AnimationWindow.CalculateAnimationWindowBones (SmoothMoves.BoneTree boneTree, Single parentRotation, Vector3 parentGlobalScale)
    SmoothMoves.AnimationWindow.CalculateAnimationWindowBones (SmoothMoves.BoneTree boneTree, Single parentRotation, Vector3 parentGlobalScale)
    SmoothMoves.AnimationWindow.CalculateAnimationWindowBones (SmoothMoves.BoneTree boneTree, Single parentRotation, Vector3 parentGlobalScale)
    SmoothMoves.AnimationWindow.CalculateAnimationWindowBones (SmoothMoves.BoneTree boneTree, Single parentRotation, Vector3 parentGlobalScale)
    SmoothMoves.AnimationWindow.CalculateAnimationWindowBones (SmoothMoves.BoneTree boneTree, Single parentRotation, Vector3 parentGlobalScale)
    SmoothMoves.AnimationWindow.OnGUI ()
    SmoothMoves.BoneAnimationDataEditorWindow.OnGUI ()
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Applications/buildAgent/work/c514da0c8183631c/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Applications/buildAgent/work/c514da0c8183631c/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Applications/buildAgent/work/c514da0c8183631c/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/BuildAgent/work/ea95e74f6e5f192d/Editor/Mono/GUI/DockArea.cs:234)
    UnityEditor.HostView.Invoke (System.String methodName) (at C:/BuildAgent/work/ea95e74f6e5f192d/Editor/Mono/GUI/DockArea.cs:227)
    UnityEditor.HostView.OnGUI () (at C:/BuildAgent/work/ea95e74f6e5f192d/Editor/Mono/GUI/DockArea.cs:120)
     
  5. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Last edited: Nov 5, 2013
  6. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Just a little cross promotion and a reminder:

    SmoothMoves is on sale 60% off for a limited time.



    Also, one of my other plugins, SimpleSQL is on sale 75% for a limited time.




    http://forum.unity3d.com/threads/143442-SimpleSQL-SQLite-integration-with-Unity3D

    Get them while they're hot!
     
  7. BoomWav

    BoomWav

    Joined:
    Mar 30, 2012
    Posts:
    7
    Hello! I bought your plugin because it looks great and I saw a possible use for my game. I'm new to 2D animations and I had a few question.

    I was thinking of using it to animate a top-down turret that could rotate 120 degrees. I was thinking I could have an animation of the turret moving from far left to far right and use the animation speed to control the turret movement. Is that something I could do with SmoothMoves? Does it make sense? As I said, I'm not an expert animator. Would it make more sense to do it outside of SmoothMoves?
     
  8. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    You certainly could use SmoothMoves for this, but for a simple rotation this might be overkill.

    If you want to use SmoothMoves, you could set two keyframes for the turret, one where the turret is pointing at one of its limiting angles and the other keyframe where it is pointing at the other limiting angle (like 0 degrees and 120 degrees, for instance). Then you could use the animation clip's normalizedTime member to set the position somewhere between those angles. So a normalizedTime of 0.5 in this example would make your turret point at 60 degrees. normalizedTime of 0.25 would point at 30 degrees and so forth. You would need to be sure to set the animationSpeed to zero for this to work, otherwise the animation would play through the rotation.

    You can also control bones through code in the LateUpdate function. But if you are going to go this route and you were only animating a turret barrel's rotation, then it might be easier to just do this with sprites instead of a full animation and save on draw calls. Have a look at this FAQ for more information:

    http://www.echo17.com/forum/index.php?topic=247.msg347#msg347
     
  9. BoomWav

    BoomWav

    Joined:
    Mar 30, 2012
    Posts:
    7
    Thanks a lot!

    I mentionned the turret because it was easy to explain but I guess it could be easy to expand.. for example, add rotation with damping, have different parts to the cannon that move when you fire.. and the turret could be on a moving platform on a spaceship. I can't help but feel like it could be expanded upon using SmoothMoves while it would be rapidly dismissed using regular animated sprites..
     
  10. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Ah, I see. Yes, you would definitely give a more vibrant feel to the turret if you had all these animations. You could even mix the actual barrel bone so that you could play an underlying animation and mix the barrel's rotation on top of that.

    So, for instance, you could have the simple rotation animation that just rotates the barrel from 0 to 120 degrees with a mix set on the animation and only mixing the one bone. You could then have many other animations that would control the look and feel of the other bones of the turret. By setting the mix of the barrel, you can have multiple animations playing at once.

    Hope that makes sense, it's a little hard to explain in textual form. Email me at the address in my signature if you need a more in-depth explanation.
     
  11. BoomWav

    BoomWav

    Joined:
    Mar 30, 2012
    Posts:
    7
    I made this little animation as a proof of concept yesterday evening. Let's just say it was a blast! I had a few problems with PlayMaker not recognizing the animations of my GameObject unless I specified the name directly as a string.. but hey.. it ended up working pretty well. Thanks a lot for your help.

     
  12. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    That is super awesome, thanks for sharing!

    I wanted to do a space shooter game at one time, myself. I was going to use 2D skeletal animation just like this to transform my ship into different configurations. Do you remember the game, blasteroids? Maybe I'm getting a little old, but I loved that game as a kid. The ship could turn into three different types: fast / lightly armored, slow / heavy armored, or a hybrid of two. That game was way before skeletal animation so the ship just instantly changed shapes by switching sprites, but I always thought it would be cool to have a transformer like effect on something like that.
     
  13. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Unity 4.3 introduced a new undo system that is not compatible with previous versions of Unity. If you are upgrading to Unity 4.3 or greater, I have a new version of the SmoothMoves editor that will allow you to perform undo operations. You will just need to import the editor package into your project, overwriting the current editor dll.

    The update is in review in the asset store, but if you need it immediately, send me an email to the link in my signature and I will get you the update. Be sure to include your invoice number you received from Unity when you purchased the plugin.
     
  14. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    <Shameless Cross Promotion>

    SimpleSQL is now on sale for 50% off for a limited time!


    If you missed the 75% off sale this last week, now's your chance to get it at a hefty discount before it goes back to full price.




    http://forum.unity3d.com/threads/143442-SimpleSQL-SQLite-integration-with-Unity3D


    Asset Store Link: https://www.assetstore.unity3d.com/#/content/3845


    </Shameless Cross Promotion>
     
    Last edited: Nov 14, 2013
  15. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Just a reminder, that tomorrow is the last day for Unity's birthday bonanza. After that SmoothMoves will be going back to its regular price. Snatch it up while you can!

     
  16. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    SmoothMoves 2.3.8 Approved and in the Asset Store

    Download here: https://www.assetstore.unity3d.com/#/content/2844

    Be sure to back up your work and download the update into a new project. You can copy the code over into your current projects using your OS's file system to ensure no import errors occur. See this FAQ for more information on upgrading:

    http://www.echo17.com/forum/index.php?topic=247.msg361#msg361

    Check out this link for a complete list of changes:

    http://www.echo17.com/forum/index.php?topic=2.0

    FYI, you can follow these updates on my Facebook, Google+, and Twitter feeds as well (links in my signature)
     
  17. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,235
    Been playing with some 2d stuff since 4.3 rolled out and had a quick question related to a main character displayed in isometric view.

    What is the most straightforward workflow with SmoothMoves for switching direction when viewed from topdown? The character in this case has 8 different possible poses(N,S,E,W,NW,SW,SE,NE) which I understand can be cut in half with scaling/rotation and appropriate shader. For the 4 remaining poses do you just create separate animation data objects and swap at runtime? If so, is this performant enough for a shoot em up paced game?

    Thanks in advance.
     
  18. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    You could either create separate BoneAnimationData assets for each pose, or just create new animation clips for each pose in a single BoneAnimationData asset. There really won't be any performance difference between the two options, it will just require a little extra work to enable and disable the appropriate animations if you use separate assets. Having separate assets might simplify your workflow if you are working on a team of animators where each animator takes a different pose direction.
     
  19. dasbin

    dasbin

    Joined:
    Jan 14, 2012
    Posts:
    253
    Hello echo,

    Just a future feature request here. Admittedly sort of a major one, but when I saw the results that Spine is getting with this I was pretty astounded and wished SM could do it!
    The feature is a vertex-based mesh deformation system. So, a way of adding vertices to the mesh on a bone and animating / deforming those vertices in the animation. The Spine demo is on their Kickstarter video: http://www.kickstarter.com/projects/esotericsoftware/spine-features

    There's a lot of other things SM is doing better than Spine already, mind you!
     
  20. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Yep, that is definitely a good one. I have it on my list of items to consider, so thanks for the feedback!
     
  21. TommiH

    TommiH

    Joined:
    Jan 14, 2008
    Posts:
    252
    Hello.

    The relationship between SmoothMoves and prefabs seems to have been discussed a lot, but I'm still somewhat confused what the best practice is in our fairly straightforward situation:

    We have monsters in our game that have a SmoothMoves bone animation each. Naturally, there are many copies of the same type of monster so we have a prefab that we instantiate into the various scenes (at edit time, not runtime). The root level of this prefab has scripts for controlling the monster, as well as the bone animation, and sometimes in these scripts, there are values that override the values on the prefab.

    The problem is, that when I force build the bone animation (which I assume is needed every time there's a change to the animation data), all the other scripts get reverted to the values of the prefab. This is obviously not desirable.

    I'm not looking for an explanation on why this happens, but rather, I'd like to know what the right way to build these kinds of things is.
     
  22. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    There's not really a great way to accomplish this, but the one I've found that works pretty well is to put my animations on their own prefabs, with no other scripts attached. When the animation prefabs are rebuilt, they won't interfere with other settings this way.

    The drawback is that your prefabs that have the monster scripts will have to reference the animation prefabs by links. You definitely don't want to nest them because Unity has problems with nested prefabs. Using this method will require you to instantiate your animation prefabs at runtime.

    So your project directory might look like:

    MonsterPrefab (with Monster script) - Monster script has a link to MonsterAnimationPrefab
    MonsterAnimationPrefab (with BoneAnimation script)

    and your scene might look like

    MonsterObject (instantiate from MonsterPrefab)
    MonsterObject (instantiate from MonsterPrefab)
    MonsterObject (instantiate from MonsterPrefab)
    MonsterObject (instantiate from MonsterPrefab)

    At runtime, your monster script would instantiate the MonsterAnimationPrefab object at attach it to itself (by making the animation object's parent the monster script object).

    So at runtime, your scene would then look like:

    MonsterObject (instantiate from MonsterPrefab)
    - MonsterAnimation (instantiated from MonsterAnimationPrefab)
    MonsterObject (instantiate from MonsterPrefab)
    - MonsterAnimation (instantiated from MonsterAnimationPrefab)
    MonsterObject (instantiate from MonsterPrefab)
    - MonsterAnimation (instantiated from MonsterAnimationPrefab)
    MonsterObject (instantiate from MonsterPrefab)
    - MonsterAnimation (instantiated from MonsterAnimationPrefab)

    (indents mean they are a child of the previous object)
     
  23. dasbin

    dasbin

    Joined:
    Jan 14, 2012
    Posts:
    253
    I've had similar prefab issues and we got into a big email conversation about it a while back. He was really helpful but I still lament that it's unfortunate things have to be this way with prefabs.

    Here's the conclusion we came to: the most effective way of making sure nothing ever breaks is to make a prefab per bone animation. Your enemies will not have any graphics on their own prefab. Rather, instantiate the bone animation prefab at start, then parent it to your enemy. Then you only ever have a single instance of the animation to work on (the bone animation prefab) and it can't affect anything else in your game (because it is the only thing that object does).

    It's a bit of a pain, admittedly, to do that then run all the checks before trying to start any animations to make sure the prefab has actually been instantiated and parented first.

    But the most annoying aspect of it is that it makes your object invisible in the editor - so as you're placing your enemies during editing, they don't have any graphical component so you can't see them. The way around this is to make custom gizmos for everything, but that's also quite a pain if you have a whole bunch of different animations to do. Still haven't found an elegant solution to that one.
     
    Last edited: Nov 22, 2013
  24. TommiH

    TommiH

    Joined:
    Jan 14, 2008
    Posts:
    252
    Thanks, both of you, for your responses!

    One follow-up question: I'm not sure entirely how the animation data gets propagated from the prefabs to the instances. I might choose to accept that the prefabs get reverted all the time, putting the bone animations simply in a prefab's root and instantiating them in edit mode. In that case, do I need to keep force building the animation on every instance every time I change the animation, or will it automatically work?

    Edit: Also, does the SmoothMoves sprite have the same problem as the Bone Animation? Could I attach a Sprite to my main MonsterPrefab, to act as a placeholder graphic for the editor?
     
    Last edited: Nov 23, 2013
  25. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    If you have the SmoothMoves control panel open and auto-build turned on, it should pick up any changes you have made a cause a build anytime you press play. The force build is good for instant feedback on scene objects that you want to see updated immediately or on cases where the auto-build might not be working (not sure if this last has happened, but it's always nice to have a way to force what you want to do).

    I don't think the sprite will have the same issue because it does not have any animation clips that need to be built. It is just a mesh so it should stay intact. Yes, you could use a sprite as a stand-in graphic for these cases. Nice idea!
     
  26. jazzcake

    jazzcake

    Joined:
    Nov 21, 2012
    Posts:
    8
    Hi, I have a question. Is it possible to use texture altas made by other tool like TexturePackerGUI instead of SmoothMoves atlas tool?
     
  27. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    No, SmoothMoves uses its own format for texture atlases, so other atlas formats are not supported.
     
  28. novello_io

    novello_io

    Joined:
    Nov 22, 2009
    Posts:
    290
    +1 on the vertex based mesh deformation system request. This could really benefit our game, I am considering Spine due to this feature, but I really like Smooth Moves and how it integrates with Unity natively. Unity integration seems like a lower priority for Spine (understandably as it's built to work with everything, but well.. there it is).

    Definitely a feature I'd pay extra for if it came to that :)
     
  29. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    @JesseAlexander: Thanks for the feedback!
     
  30. zoukka

    zoukka

    Joined:
    Sep 27, 2013
    Posts:
    3
    Any way to utilize the new sprite system with smooth moves? More specifically when I slice my texture to multiple sprites in Unity 4.3.2, I can't seem to drag them to the atlas editor like I used to be able to do with regular textures?

    In the SM2D example project, I can't find the smooth moves options anywhere, like it should be in the top dropdown section and in the create-smooth-moves-etc, sections?

    So I made a new scene where smooth moves is visible again. Now I encountered a problem when I tried to apply an animation made with SM to an animation controller:

    "Animation clip 'Spaceboy animation run' is not retargetable. Animation clips used within the Animator Controller need to have Muscle Definition set up in the Asset Importer Inspector
    UnityEditor.DockArea:OnGUI()
    "

    Sorry for this flood of questions :)
     
    Last edited: Jan 8, 2014
  31. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Be sure the texture type is set to something other than sprite before you drag into the atlas editor. Setting them to Advanced should do the trick

    This is because that project is located on a public forum, so I don't include the Editor code. The runtime is open to the public, but the editor is available only to owners of the plugin. If you own a copy of SmoothMoves, you can just copy the SmoothMoves_Editor.dll (along with the editor folder) into your project. This will make the menu and options appear.

    I have not seen this error before, but it sounds like something to do with Mecanim. Is this an error or a warning? If a warning, then I would say it is safe to ignore this since it is just telling you that the Skinned Mesh cannot be used with Mecanim (by design).
     
  32. cynel

    cynel

    Joined:
    Apr 18, 2012
    Posts:
    734
    i wonder if this is compatible with Unity 2D system.
     
  33. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Yep, it sure is. Have a look at this FAQ:

    http://www.echo17.com/forum/index.php?topic=247.msg1096#msg1096

    You can even download a modified version of Unity's 2D project that shows a SmoothMoves animation working in the demo.

    Keep in mind that SmoothMoves still generates a skinned mesh and not individual sprites, so it is not directly using Unity 4.3 sprites, just the 2D colliders. It is still fully compatible however, in that you can use it in a Unity 2D scene.
     
    Last edited: Jan 8, 2014
  34. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
  35. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,890
    Are there any developments for huge project management ?

    I have a huge project and i recall when i tried to use a new version that had some editor memory management fixes (because Unity crashed since when entering the editor my huge atlas number exeeded Unity 3GB ram limit), the whole project was recalculated when i did anything, like load a scene etc and i could not work with the new version, so reverted to the old one (plus it still crashed because of the memory limit, now outside the editor as well)

    Is there any development on the asset handling aspect, like a gradual loading / consideration of assets in demand as they are used, rather than whole project approach ? For example right now in my old version when i open the editor it crashes, since it tries to load every singe altas i use in my smoothmoves items, when i only want to use one of those atlases and only that one should be loaded for editing, for example

    Thanks
     
  36. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    In older versions of SmoothMoves, you could select an atlas by choosing it from an Editor object field. This could be done through drag-and-drop or clicking on the field and selecting from a Unity browser. Unfortunately, Unity made some changes to their editor object field making it impossible to select custom assets. To get around this, I created a drop-down list of assets found in the project. If your project is large, this can cause a long load time. Unfortunately, it is the only solution that works on all versions of Unity 3.5.6+. This was modified in v2.1.0: http://www.echo17.com/forum/index.php?topic=2.msg40#msg40

    If you are experiencing delays when clicking on a BoneAnimation game object, then this is likely due to the fact that SmoothMoves looks through your project to see what BoneAnimationData assets are available. This is a similar process to the atlas search.

    Fortunately, the inspector behavior is included with the source code in the plugin. Just browse to the Build project and look at the BoneAnimationInspector.cs class. You'll see a function called "GetBoneAnimationDataList" that gathers a list of animation data assets in your project. You can modify this to suit your needs. Have a look at this FAQ for more information:

    http://www.echo17.com/forum/index.php?topic=247.msg812#msg812
     
  37. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,890
    Thanks for the clarifications. So, to sum up, you think i could relate the asset load/search to the name of the object that will load the smoothmoves animation ?

    Say i have a "Scorpion" monster and the animation is "ScorpionSmoothmoves", i could tell Unity to load in the Inspector just the assets that include scorpion in their name for example. Is that what you suggest ?

    Also if i remember right i still got a memory error in the editor because all assets were loaded, is there a way to load assets on demand there too (for example, can i pass the name of the object edited as parameter, so only that asset is looked at / loaded ? )

    And what is the file i should consider changing for something like that ?

    Thanks again
     
    Last edited: Feb 3, 2014
  38. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    That would still require you to traverse the project folders to get a list of assets, which is what SmoothMoves is already doing, so you wouldn't gain much there. I would suggest creating an Editor Object field in the BoneAnimationInspector so that you can drag and drop your animation data asset onto the inspector (instead of having the drop-down list). The only issue with this is that you won't be able to click on the little circle in the editor field and browse through Unity's asset window. That is why I got rid of the editor object picker and replaced it with the list. If you can live with that limitation, then that will speed up your BoneAnimation inspector.

    Unfortunately, this is in the compiled and locked portion of the plugin. If you are interested in a customized solution, please send me an email with your invoice number and I'll see if there is something that can be done for you.
     
  39. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,890
    Great, i will try it on a new project and if i can make it i will incorporate in my main game project

    As for the editor, i would extremely appreciate a version that will load assets only on demand, even a basic implementation like me writing the asset name or drag/drop the atlas asset and a load button to load the textures, in the place of the pull down menu that fills the memory

    But if it is too time consuming to implement, i will probably have a separate project for the editor and import assets in my project, the problem is that i manually have to put the scripts in each smoothmove asset, that is how i deal with the crash problem right now. Also it is a bit confusing when changing versions of creatures, since i cant replace old ones easilly and new ones have to be re-inserted in my game logic to replace the old ones, so it is a bit cumbersome and a solution would really save the day :)

    I will send the invoice from the email i bought the asset with

    Thanks a lot for all the help :)

    EDIT: I have managed to insert a field to put the animationData asset and it builds and shows the object correctly when i force build it. The problem i have is that it does not keep the setting after i leave the inspector (though when i force build, it does build the correct item).

    Any tips on how to keep that setting saved ? What is actually saved in the BoneAnimationInspector code ?

    Also is it possible that i had the old implementation of the Inspector file so i can evaluate my changes better in order not to risk breaking my game by some mistake ?

    Thanks
     
    Last edited: Feb 4, 2014
  40. indy2005

    indy2005

    Joined:
    Aug 22, 2009
    Posts:
    77
    I have this error also, the issue is ,although it is a warning - it does not accept adding the animation to the controller, and the state returns to a motion of (None).
     
  41. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Yeah, animation controllers do not support the skinned mesh that SmoothMoves uses. SmoothMoves is compatible with Unity versions prior to the Mecanim system, so it will continue to use the legacy system. Just be sure you don't try to add any animation controllers to the SmoothMoves animations, they should generate everything correctly if you go through the Create menu.
     
  42. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    SmoothMoves 2.4.0 Approved and in the Asset Store

    Download here: https://www.assetstore.unity3d.com/#/content/2844

    Be sure to back up your work and download the update into a new project. You can copy the code over into your current projects using your OS's file system to ensure no import errors occur. See this FAQ for more information on upgrading:

    http://www.echo17.com/forum/index.php?topic=247.msg361#msg361

    Check out this link for a complete list of changes:

    http://www.echo17.com/forum/index.php?topic=2.0

    FYI, you can follow these updates on my Facebook, Google+, and Twitter feeds as well (links in my signature)
     
  43. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,890
    Is there any plans to integrade skin blending and IK in Smoothmoves ?

    I saw a new Puppet2D pack that has these features and i am probably buying it to test it, but i would prefer it if it was in Smoothmoves, because the 2D sprite system has some limitations

    https://www.assetstore.unity3d.com/#/content/14024
     
  44. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    IK has been on the list for a while. It seems there is always a feature or fix that gets bumped ahead of it. It's a pretty big feature, so it would take a while to implement. No ETA at this time.

    You can already use skin blending with SmoothMoves. You can mix transforms, having two animations play at the same time. You can also control the blend weight programmatically.

    Have a look at this thread from my forum: http://www.echo17.com/forum/index.php?topic=1145.0

    Here is a video tutorial showing how to use Mixing:



    Here is a video of mixing in Playmaker:

     
  45. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,890
    Thanks for the tips, i will check it out, always wondered what the mix option does :)

    Nice to know IK is also planned, even if there is no concrete date

    EDIT: About the blending, i meant the option to weight the bones and stretch the textures, not blend different animations.

    From Puppet2D description

    - Convert 2D Sprites into polygon meshes for skinning (i think you already have that)
    - Skin 2D meshes to bones for subtle deformations
    - Edit the Skin Weights
     
    Last edited: Feb 12, 2014
  46. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    Ah, I see. Yeah, that is something I toyed with early on. With a skinned mesh, Unity would require a separate bone for every vertex you wanted to animate, so that would kill performance if you animated every quad vertex. I've thought about making my own animation classes to avoid the unnecessary overhead of the skinned mesh in these instances, but I really like being tightly integrated with Unity.

    The real trick is accommodating all animation styles: those that want high performance quad based transformations, those that want intricate mesh deformations, those that want pure Unity 4.3 sprite implementations, etc. etc. I'm trying to keep SmoothMoves available across a wide range of Unity versions, which can be tricky as Unity adds new stuff to their toolkit. I haven't come up with a good way to implement a "universal" solution, but I rattle it around my head from time to time.
     
  47. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    7,890
    I see. Maybe it is indeed an overkill to have that, or could be just as option depending on scene.

    In any case Smoothmoves is fine without it :), maybe it would add excessive complexity for the user too to handle right, so i cant say if it would be better to have it or not
     
  48. GreatBigJerk

    GreatBigJerk

    Joined:
    May 20, 2012
    Posts:
    35
    How do you get Smooth Moves animations to work with Unity's animator with transitions and blends? The artist on my project is unable to add Smooth Moves animations as states on an animator at the moment. Is there some trick to doing it?
     
  49. echo17

    echo17

    Joined:
    Nov 24, 2011
    Posts:
    1,198
    SmoothMoves does not use Mecanim due to the fact that it supports Unity version 3.5 (which did not have Mecanim). Have a look at these forum posts for more information:

    http://www.echo17.com/forum/index.php?topic=1146.msg1847#msg1847
    http://www.echo17.com/forum/index.php?topic=439.msg1021#msg1021
     
  50. GreatBigJerk

    GreatBigJerk

    Joined:
    May 20, 2012
    Posts:
    35
    That's pretty unfortunate. There's no plans to eventually drop 3.5? It's pretty much ancient by now.

    We're also seeing issues where animations aren't getting saved out correctly every time. We've got a walk cycle, an idle cycle, and an attack animation. When I try to play the walk animation by calling animation.play, I can only play idle and attack. Trying to play walk will just play the idle animation. Even forcing walk as the active animation will still cause it to only play idle.

    I've looked at the animation in the Unity animation window, and the animation is there, but it is incredibly slow. The walk cycle takes place over 35 seconds instead of 1-2 seconds.

    Is there something obvious we're missing? Does Smooth Moves not work correctly with 4.3?