I am having some confusing issues with root motion. When I disable root motion on my animation sequence, the mesh animates correctly:
As you can see, the position of the root bone changes primarily in the y-direction and the x and z values stay roughly the same.
However, when I enable root motion, I expected the position change in the root bone to be applied to the model instead. There is indeed some position change applied to the mesh, but not the same as seen in the previous gif, it now looks like:
The Mesh Relative position is changing in primarily the x-direction now.
Is there something I misunderstood about root motion?
I figured (via source code and documentation) that Unreal always expect your root bone to be at the (0, 0, 0) position in your skeleton and animation sequence in order for root motion to work properly. This is unfortunate because a lot of animation assets don’t make this assumption, so I guess the only fix is to find a compatible asset or go into Maya and fix it yourself.