Extracting RootMotion Translations from Mixamo Animations

Usually, when artists apply root motions to animations, they do so by animating the root bone.
In my case, I have a root bone called “RootNode”, with a child called “Hips” - the typical setup.
When applying a typical Mixamo jump animation, the root node is not translated - the hips are! Given that AnimationController can’t help us with root motion, is there a consistent workflow (preferably for Blender) to let me bake hip translations into the root bone?

I found Blender’s Motion Capture Tools (aka MoCap addon) indispensable for retargeting animations.


I found eliminating unwanted root motion was usually straightforward. Have not actually tried copying it; perhaps a bit more involved.

Some related blog posts and tools

1 Like

Recently, I was using a Dynamic character controller, and I wanted to suppress all root motion. I found the controller very tactile, but the “feel” of the animations was lost to the physics engine.
Currently I am experimenting with a Kinematic character controller, which I hope to drive using the original root motions, but I quickly noticed that artists don’t always animate on the root node - they sometimes animate on the hips.
I’ll probably end up dealing with this issue in code, via xml metadata I already provide for character animation sets. But if there’s a decent workflow to fix this issue, and I don’t need to touch python, I’m definitely interested :slight_smile: