Search Unity

Generic/Humanoid Rig - Root Motion Problem

Discussion in 'Animation' started by morphex, Jul 7, 2021.

  1. morphex

    morphex

    Joined:
    Dec 18, 2012
    Posts:
    112
    I have a issue with RootMotion and a set of animations that I have.
    Case is the following:
    • Animation is a humanoid character
    • Has root motion in it - the transform with the source of motion is Root.

    If I use a Humanoid Rig, unity seems to calculate root motion based on the body of the avatar, and since there is quite a bit of movement is quite jittery (its supposed to run in a straight line). If I pick Root Motion Node and set it to Root transform, the animation gets rotated 90% on the X axis.
    I have tried pretty much all combinations of Based Upon, and none give me the correct result when using a humanoid.

    If I use a Generic Rig instead: If I pick Root Motion Node in the animation tab and set it to Root transform, the animation gets rotated 90% on the X axis, same as before.

    If instead I change it on the RIG tab, then it works perfectly, no weird rotations and the character moves in the correct path, with 0 jitter.

    Point being, I cant change the original animation to fix the axis rotation issues - they get generated by someone else and thats the way they come.


    Is there a way around this ? I have tried picking the Bake Axis Conversion in the Mode, but it instead just breaks it in weird places.

    From what I can tell unity uses a projection of a humanoid body transform as the source for root motion. Is there a way we can change this to a specific transfomer without using the Animation Tab? Can I defined this somehow in the avatar?
     
  2. KalOBrien

    KalOBrien

    Administrator

    Joined:
    Apr 20, 2021
    Posts:
    89
    Could I ask for some clarifcation as to why the original animation cant be fixed? It seems to be the root of your problem and causing the issue with the workflow you need.