Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UMotion - Animation Editor

Discussion in 'Assets and Asset Store' started by SoxwareInteractive, Aug 26, 2017.

  1. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    UMotion V1.29 was just released on the Asset Store

    Update now: UMotion Pro V1.29 | UMotion Community V1.29


    Copy/Paste Pose
    New buttons have been added to the Pose Editor allowing you to copy the current pose. You can then use the "Paste Pose" button to paste the pose at a different time in your animation (or at a different animation clip). If you have some bones selected while pasting, pasting is limited to the selected bones. If you have nothing selected, pasting is going to update every bone/transform of the animated character/object.

    This feature copies the pose in world space thus allowing it to work correctly with additive layers.

    upload_2022-8-11_8-13-35.png


    Enhanced UMotion API
    The UMotion API was extended with new properties/methods:

    Pose Editor

    New methods to pose/key bones and transforms in world space:
    • static bool TrySetFkWorldPosition(Transform transform, Vector3 worldPosition, string undoMessage, bool createKey)
    • static bool TrySetFkWorldRotation(Transform transform, Quaternion worldRotation, string undoMessage, bool createKey)
    New methods to change or key the value of custom property constraints:
    • static void GetCustomPropertyConstraintNames(Transform transform, List<string> constraintNamesList)
      Returns a list of all custom property constraints of the passed bone/transform.

    • static bool TrySetCustomPropertyConstraintValue(Transform transform, int customPropertyConstraintIndex, float value, string undoMessage, bool createKey)
      Updates the current value of the custom property constraint at the passed index. The index is the same as the index the constraint has in the list returned by "GetCustomPropertyConstraintNames()".

    New methods to access UMotion's mirroring features:
    • static void GetMirrorTable(List<Transform> leftHandSideList, List<Transform> rightHandSideList)
      Returns the mirror table.

    • static void CopyToOtherSide(Transform transform, bool position, bool rotation)
      Copies the current position and/or rotation of the passed bone/transform to it's sibling on the other side.

    New methods to query bones/transforms:
    • static void GetAllTransforms(List<Transform> transformsList)
      Fills the list with all bones/transforms of the current animated GameObject.

    • static int GetTransformChildCount(Transform transform)
      Returns the number of child bones/transforms of the given transform. This includes custom transforms that only exist within UMotion's pose editing time

    • static Transform GetTransformChildAt(Transform transform, int index)
      Returns the child bone/transform with the given index.

    • static void SetTransformIsSelected(Transform transform, bool selected)
      Selects or deselects the transform based on the "selected" value.

    • static bool GetTransformIsSelected(Transform transform)
      Returns true if the passed transform is currently selected.

    Clip Editor
    • static void DeleteClip(string name)
      Deletes the clip with the given name from the UMotion project.

    • static float GetLastKeyFrame()
      Returns the last frame number of the current clip where at least one key is present.

    • static float ImportClips(IEnumerable<AnimationClip> animationClips, ClipEditor.ImportClipSettings importClipSettings)
      Starts the UMotion clip importer. Imports the passed animation clips with the passed settings.

    Following this link you can find the complete documentation of the UMotion API: https://www.soxware.com/umotion-manual/UMotionAPI.html

    Open Clip Editor Button
    Added a button to the Pose Editor that opens the clip editor window when not opened yet.

    upload_2022-8-11_8-19-33.png


    Complete Release Notes
    This post highlights only a few of the new improvements. Please refer to the release notes for a complete list of changes.
    UMotion V1.29
    New or Changed Features
    • Added new methods/properties to the UMotion API "ClipEditor" class: DeleteClip(), GetLastKeyFrame(), ImportClips()
    • Added new methods/properties to the UMotion API "PoseEditor" class: Pivot (get/set), GetAllTransforms(), GetTransformChildCount(), GetTransformChildAt(), GetMirrorTable(), SetTransformIsSelected(), GetTransformIsSelected(), TrySetFkWorldPosition(), TrySetFkWorldRotation(), GetCustomPropertyConstraintNames(), TrySetCustomPropertyConstraintValue(), CopyToOtherSide()
    • Added a "Copy Pose" and "Paste Pose" button to the Pose Editor's "Tools" foldout.
    • When the pose editor window is opened but the clip editor window is not opened, a button is now displayed in the pose editor window that opens the clip editor on click.
    Bug Fixes
    • Fixed that the FBX export feature doesn't set the "Root Motion Node" setting correctly to "<Root Transform>" when the exported animation clip has the root transform selected as root motion node in the Clip Editor.
    • Fixed an exception that is thrown when importing an animation clip that has a quaternion curve that is missing some keys on one of the components (x, y, z, w).
    Manual Changes
    • Fixed a dead link in the "Exporting Animations FAQ".
    • Added descriptions of the new properties/methods to the UMotion API chapter.
    • Added a description of the new copy/paste pose buttons to the "Pose Editor/Pose Mode/Tools" chapter.


    Let me know if you like the new update. If you discover any problems, please issue a bug report at the official Support Forum.
     
  2. xjjon

    xjjon

    Joined:
    Apr 15, 2016
    Posts:
    606
    upload_2022-8-14_21-45-21.png

    Hi, when making an animation there are some transforms I don't want added to the hierarchy. The WeaponMount and GoblinStaff are not bones and just attached to the prefab.

    I don't set any frames for them and would like to remove them from the hierarchy as they show up as a property in the clip editor. How can I remove them without deleting them from the prefab?

    Thanks
     
  3. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Thanks for reaching out. Go into config mode, select the transform (in the rig hierarchy), open the "properties" tab and set "visibility" to "Lock". (See manual: https://www.soxware.com/umotion-manual/Configuration.html#Properties)

    If you have any other questions or a follow-up question, please use the official support forum (no account required): https://support.soxware.com
    The support forum has one thread per support request which makes things way more organized than writing all support requests in a single unity forum thread. Thanks for your understanding.

    Best regards,
    Peter
     
    xjjon likes this.
  4. Vagabond_

    Vagabond_

    Joined:
    Aug 26, 2014
    Posts:
    1,148
    Hi @SoxwareInteractive

    we got a couple of mecanim ready animation packs from the store but they all have the feet sliding in idle animations. Is it possible to use UMotion to fix the feet sliding (i see it has IK feature) and update the clip so the feet no longer slide ?

    Thanks !
     
  5. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Yes you can fix foot sliding with UMotion Pro. In this video tutorial, I'm fixing foot sliding (and other problems) of an animation form the asset store:


    In case you have any further questions, feel free to post directly on the official UMotion support forum (no account required to post there).
     
    Vagabond_ likes this.
  6. roger_peng

    roger_peng

    Joined:
    Sep 19, 2015
    Posts:
    5
    I rencently use UMotion to generate(convert) animation by script.
    I think there should be more UMotion API.
    * Add a new clip.
    *Delete certain key frame.
    *API on key frame Curves .
     
  7. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Thank you very much for your feedback. I've added this to my list of future enhancements of the UMotion API.
     
  8. Bagazi

    Bagazi

    Joined:
    Apr 18, 2018
    Posts:
    611
    Hi here,
    I copied a anim frame to other with full keys as shown in the gif .The two frames are all the same, I was confused that I thought it should not be any visual changes when drag the slider between them.But there is some slight swag effect there as shown in the gif. So how to keep it "static"?:)
     

    Attached Files:

  9. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    114
    Go to curves and see if they are flat. Maybe you have to change to "Auto"
     
  10. Bagazi

    Bagazi

    Joined:
    Apr 18, 2018
    Posts:
    611
    It is not flat... Will it be the reason? What do you mean about "Auto"? :D PS:the animation was imported by ready-made one,it is not started by beginning...
     
  11. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    114
    You can try some of this settings on the curve:
     
    Bagazi likes this.
  12. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    2,287
    Just wanted to thank UMotion for going on sale this month.

    My first UMotion-authored animation (played back at 0.5x):

     
  13. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    The response of @bthanse is correct. You need to go into the curves view to see if your curves between the two key frames are flat or not. Changing the interpolation mode from auto to "Clamped Auto" might be a possible fix for your situation. More information about curves can be found in the related video tutorial: https://www.soxware.com/umotion-manual/Lesson4.html
     
  14. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Nice job, keep it up :)
     
  15. JuanGuzmanH

    JuanGuzmanH

    Joined:
    Feb 8, 2018
    Posts:
    73
    Hi all! I will need the help of an animator (paid work as freelancer) ideally using Umotion for a pure cinematic scene. We can start with settings some static key poses on the timelime we have already and develop from there. Interested please contact me through PM or at vr4content.com
     
  16. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    2,287
    Ah, I was going to ask for the same thing as this early post, but now I see (from your official forum) that there's now a dropdown next to Pose Editor's "Clear" button, which does just this.
     
    SoxwareInteractive likes this.
  17. Bagazi

    Bagazi

    Joined:
    Apr 18, 2018
    Posts:
    611
    Is there anyway to make 2d face expressions (by texture switching) in Umotion?
     
  18. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Yes, create a texture atlas for your face expressions. Then in UMotion use a Custom Property Constraint in "Component Property" mode to animate the texture offset (i.e. animate the SkinnedMeshRenderer.Texture_ST .Z and .W property). Please note that Texture_ST.X/.Y animates the texture tiling property!

    In case you have any follow-up questions, please open a dedicated support forum thread (no account required).

    Best regards,
    Peter
     
    Bagazi likes this.
  19. RobertOne

    RobertOne

    Joined:
    Feb 5, 2014
    Posts:
    258
    Hey, I wanna batch import and export a bunch of animations.
    its all working fine but how can i set the current clip framerate via script?
    right now the default is 60 but i need 30
     
  20. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Hi Robert,
    animations clips are imported with the frame rate they currently have. So one easy way to change framerate would be to adjust the framerate of the animation clip before importing it to UMotion. The UMotion API currently does not expose the frame rate setting of UMotion animation clips. Here you find the complete list of all available UMotion API methods/properties: https://www.soxware.com/umotion-manual/UMotionAPI.html

    If you have any further questions, please post on the official support forum in order to keep this thread here more organized (no account required): https://support.soxware.com
     
  21. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    2,287
    I'm finally able to go back to using the animation I created in November. Well, I want to use the reverse of it.

    I keyframed the animation of boarding the bike. Perfect. I can use it in the scene. It looks like it applies the root motion as expected, throughout.

    I then duplicated the clip, selected all, and reversed the keyframes. Also seems great when I scrub through the animation in UMotion, the character hops off the bike and is left standing where he started on the boarding animation.

    But now I am realizing that the reversed keyframes must still measure everything relative to the original position on the ground, not the seated position. I was expecting to be able to play "boarding" to board, and then "leaving" to get back off the bike. When I try to run the "boarding" then subsequently the "leaving" clip in the game, the first frame of the "leaving" animation jumps 90º and a bit off, then clambers backwards and ends up somewhere in the front tire looking backward.

    After reversing the keyframes, is there a way to say "hey, frame 1's position is the starting root position, everything else is a delta from that"?

    I'm sure people have done similar things with boarding/exiting ladders and other situations. What am I missing?
     
  22. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Please refer to the dedicated support forum thread I opened for your request: https://support.soxware.com/communi...-so-that-root-motions-origin-is-also-reversed
    Please post in the support thread linked above in case you have any follow-up questions (no account required for posting). This helps me keep all support requests organized and searchable.

    Best regards,
    Peter
     
  23. Bagazi

    Bagazi

    Joined:
    Apr 18, 2018
    Posts:
    611
    Hi, the Umotion support the poperty "active" of some bone.


    upload_2023-3-14_23-12-28.png

    I import some existed anims which have the animation property of "m_Isactive",it gots error...
     
  24. Bagazi

    Bagazi

    Joined:
    Apr 18, 2018
    Posts:
    611




    Just like the property of "m_Isactive" in Unity animation

    upload_2023-3-14_23-16-25.png


    PS: Sometimes I need to active/inactive some bones ,for instance ,a blade effect when character are choping,could it be implemented by Umotion?
     
    Last edited: Mar 14, 2023
  25. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Yes this is possible. Create Custom Property Constraints for the properties you wish to animate: https://www.soxware.com/umotion-manual/CustomProperty.html#ComponentProperty

    If you have further questions, please post on the official support forum (no login required). This helps me to keep this thread clean and organized.
     
    Bagazi likes this.
  26. The11thAlchemist

    The11thAlchemist

    Joined:
    Aug 10, 2020
    Posts:
    24
    Hello, new to Umotion and liking it. I saw that if you have a character facing the wrong direction at the start of the clip, you can change the offset in the Root Motion transform options before importing...but that seems inefficient to keep adjusting and reimporting to get the correct rotation at start. It seems there should be a way within Umotion but I can't seem to figure it out. If I add a layer and rotate the character, he is now facing the correct position but the hips root motion position is still moving as if he is still facing the original position. Any suggestions?
     
  27. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Thanks for reaching out. I've moved your support request into our support forum: https://support.soxware.com/communities/1/topics/1322-how-to-adjust-root-motion-direction (please comment there, in case you have further questions; no account required)

    Best regards,
    Peter
     
  28. SOL3BREAKER

    SOL3BREAKER

    Joined:
    Oct 11, 2021
    Posts:
    39
    Can you add auto save or auto backup function? It crashed and I lost all the modification.
     
  29. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Hi, sorry to hear that you've expected a crash. UMotion has an auto backup function: https://www.soxware.com/umotion-manual/MenuBarFile.html (see "Restore Project From Backup").
     
  30. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,635
    The selected bone/transform is configured as locked. enable animating by setting visibility to show in config mode.

    Animating generic bones that have a humanoid child game object is not allowed in unity.

    Does Umotion only do genertic?
     
  31. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Hi,
    I've moved your support request into our support forum: https://support.soxware.com/communities/1/topics/1341-animating-generic-humanoid-bones
    Please answer in the thread linked above in case you have any follow-up questions (no account needed to post there).
     
  32. FanStudioUK

    FanStudioUK

    Joined:
    Mar 31, 2013
    Posts:
    23
    Hey guys, congrats for the amazing tool! It saved us a lot of time, but now we are struggling with something else...
    what is the best practice in order to get all the animations "normalized" and make sure the Y transform positions are the same for our character?

    We have various animations from different sources (animation packs fromt the Asset Store) and we are willing to pay someone to help us have all the animations in default values as right now each animation changes the positions, no matter if we use Bake in pose options or not.

    Thanks and looking forward to getting some professional advice ;)
     
  33. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Thanks for reaching out. For support request, please use our support forum (no account required). This helps us keeping support questions and their related answers well organized and searchable for other users.
     
  34. Morseliot

    Morseliot

    Joined:
    Jan 10, 2015
    Posts:
    70
    Hi Peter,

    Not an issue.
     
    Last edited: Aug 31, 2023
  35. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Thanks for reaching out. For support request, please use our dedicated support forum (no account required). This helps us keeping support questions and their related answers well organized and searchable for other users.
     
    Last edited: Sep 1, 2023
  36. Morseliot

    Morseliot

    Joined:
    Jan 10, 2015
    Posts:
    70
    Hi Peter,

    Excuse me for the inconvenience regarding the "export issue". This seemed to work correctly, for some reason unity animation viewport offsetting while playing animation, but the exported animations are alright in real action.

    Couple of thoughts:

    Is it possible to do? If selecting the keys in clip editor instantly highlight the properties, to make it easier recognize which properties are selected without dropping the selection process.

    Make it blue like they are selected

    IK pinning and constraints. This is a bit confusing, haven't found a proper tutorial on your channel or in docs how to constraint the other transforms. The hint says "Enable this to use Child-Of constraint the inverse Kinematics constraint with IK pinning" which seems to be wrong as in order to make this feature work, this bool should be off, then ability to attach parents in Pose Mode is finally available. ( Or maybe I misunderstood it, anyway it's a bit confusing)

    The tool is super great! My last animation experience was in 2010 with Cinema4D, and before your tool I had to fix all animations with Blender which is not quite fluent work-flow. You plugin is just a lifesaver. It was quite easy to get used to. I will give my review soon in asset store too. Keep doing it great!
     
    Last edited: Aug 31, 2023
  37. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Thanks for reaching out. For support request, please use our dedicated support forum (no account required). This helps us keeping support questions and their related answers well organized and searchable for other users.
     
  38. Morseliot

    Morseliot

    Joined:
    Jan 10, 2015
    Posts:
    70
  39. Andresmonte

    Andresmonte

    Joined:
    Nov 22, 2014
    Posts:
    37
    Hello, does UMotion have something like Match Offsets to Previous Clip in Timeline? I want to combine many clips.
     
  40. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    Such a feature is currently not implemented, I'm sorry. If you have any further questions or want to discuss this in further detail, please use our dedicated support forum (no account required). This helps us keeping support questions and their related answers well organized and searchable for other users.
     
  41. kloogens

    kloogens

    Joined:
    Jul 1, 2015
    Posts:
    108
    I am having a lot of problems getting Umotion to do what I want.
    Really simple things, like rotating a character 45 degrees on the global Y axis in mid-air after jumping.
    Where do I post? Here or the support forums on your website?
     
  42. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    540
    The support forums on my website is the right place to ask this question. I've answered there: https://support.soxware.com/communities/1/topics/1382-jump-and-rotate-45-in-the-air