Answered

"Root Motion Node" setting supported by Unity, not by UMotion?

FuseBoxGames 4 years ago updated by Arlorean 2 years ago 6

Hi,

we have several animations where the artist authored the root motion as the movement of a specific transform, setup as the parent of the entire rig. This lets us define arbitrary position/rotation for the model (including its hips node), but have independant control of the actual gameobject's transform. This capability is essential for our control scheme, as it allows for example a spinning animation while keeping the object's forward direction constant, which is in turn used to interpret and move the player avatar.

The way this works in Unity is by specifying the "Root Motion Node" parameter of the Animation importer to the transform manipulated by our artist. Unity will correctly generate root motion curves from this transform.

We've recently decided to by UMotion so other team members can make small corrections to the anims without burdening the artist. But I can't find any way to replicate this behaviour? The manual says that humanoid rigs are constrained to generating root motion from the hips, which fits with the behaviour I'm seeing from the UMotion clip editor. However, it says that this is a limitation caused by the Unity engine, which seems false - unless I've very badly misunderstood what we've been doing all this time, or it's a feature that's been removed in later versions (we're frozen on 2019.1.8f1).

Here are two screenshots for our current setup:

- rig: http://u.cubeupload.com/tiktiktock/RootMotionRig.png

- importer: http://u.cubeupload.com/tiktiktock/RootMotionSettings.png

How can we keep/edit our root motion curves when using UMotion? This is completely negating the benefits we expected from its integration into our workflow. Is there something obvious we missed that would resolve this?

[EDIT] Forgot to mention, this is of course for a Humanoid rig. Converting to a Generic rig would bring its own set of problems, especially as we use Unity's retargeting via avatars quite heavily.

UMotion Version:
1.22p11
Unity Version:
2019.1.8f1

Answer

Answer
Answered

Hi,

thank you very much for your support request.


This is indeed a limitation of the current way how UMotion allows you to author root motion for humanoid characters.


Here is a different workflow that might work for you:

  1. A more direct way to edit your animation is to temporarily changing it to generic (just for the purpose of editing). You could even duplicate the *.fbx and set the duplicated version to generic. That way you don't loose your humanoid import settings.
  2. (Optional) If the fbx does not include the character's mesh, you also need to duplicate the character's fbx and set that one to generic too.
  3. Now you can use a generic UMotion project to edit all transforms as you wish.
  4. Once you're done, export your changes back into the animation's source (humanoid) fbx file (set "Write Mode" to "Update Existing File" in the UMotion export settings).

This is the most direct way you can edit animations in UMotion (the humanoid workflow always has 2 re-targeting steps in between).

    Please let me know if this works for you.


    Best regards,
    Peter

    Answer
    Answered

    Hi,

    thank you very much for your support request.


    This is indeed a limitation of the current way how UMotion allows you to author root motion for humanoid characters.


    Here is a different workflow that might work for you:

    1. A more direct way to edit your animation is to temporarily changing it to generic (just for the purpose of editing). You could even duplicate the *.fbx and set the duplicated version to generic. That way you don't loose your humanoid import settings.
    2. (Optional) If the fbx does not include the character's mesh, you also need to duplicate the character's fbx and set that one to generic too.
    3. Now you can use a generic UMotion project to edit all transforms as you wish.
    4. Once you're done, export your changes back into the animation's source (humanoid) fbx file (set "Write Mode" to "Update Existing File" in the UMotion export settings).

    This is the most direct way you can edit animations in UMotion (the humanoid workflow always has 2 re-targeting steps in between).

      Please let me know if this works for you.


      Best regards,
      Peter

      Thanks for the fast reply, I'll try this and get back to you. On a related note, Is there a plan to add free root motion authoring to humanoid anims in the future ? We were considering making UMotion part of our standard workflow for our next project, but this could throw a wrench in the works.

      Unfortunately I currently do not plan to add such a feature. But even if there was, the workflow mentioned above would still be my recommended workflow for professional situations as it is the most direct one (you work directly with the source animation data directly instead of the re-targeted animation data).

      Best regards,
      Peter

      Hi Peter, We're having exactly the same problem and would like to be able to use the Humanoid IK Rig in UMotion but also be able to edit the root motion by keying the root node position/rotation separately to the pelvis/hips node. Switching to Generic removes the IK features. Adding direct support for Root Motion editing along with the Humanoid rig would be really helpful. Many thanks, Adam

      Hi Arlorean,

      thanks for your message.

      Switching to Generic removes the IK features.

      You can use IK in a generic UMotion project. You can also use the IK setup wizard (like in humanoid), but you have to manually define the wrist and ankle bones (in humanoid, UMotion can detect them automatically).

      Best regards,

      Peter

      Thanks Peter. I'll try that.