Root motion in Mecanim doesn't work with characters imported from Mixamo?

Refer to this unresolved forum discussion on Mixamo, where I have also raised this issue:

https://community.mixamo.com/hc/en-us/community/posts/203274527-Root-Motion-Not-working-in-unity-resets-position-each-loop-?page=1#community_comment_206981458

I have a goal kicker character with basic animations; it starts in a weight-shift idle. When you hold and release a button, the character should play a running animation and run towards the ball, then blend to a kicking animation to simulate the character kicking the ball. The running animation plays fine and appears normal; however, any other animation I blend to after the running animation will reset the character to its starting position, regardless of whether root motion is applied or not, or when I perform root motion manually.

I have followed all of the tutorials for Unity and Mixamo regarding root motion, and even turned root motion off completely now and am updating the position of the parent game object via script, yet when I transition to a second animation, the position still resets and the character moves back to its starting position. This is a feature-breaking bug; if I can’t move the character from it starting position between animations, then character animations are unusable.

I have a very tight deadline for a freelance project; this is a huge issue for me.

Note that the animation type of the rigs is ‘Generic’; 'both ‘Legacy’ and ‘Humanoid’ force the model into the T-pose and it won’t animate at all, even though it is a humanoid model.

As I said, this behavior occurs regardless of whether I have root motion applied or perform root motion manually with StateMachineBehaviour scripts on my sub-state machines. In fact, even if I update the position of the parent gameObject in OnStateUpdate and OnStateMove in the second animation, the character will still reset to its starting position when the scene began.

Currently I don’t even have the kick animation set up anymore; I’m just trying to get the character to stay put after kicking and returning to the idle animation.

Does the second animation have the “Bake into pose” checkbox ticked?

@solkar I tried it with and without baking, and it made no difference.

This is resolved for me now after contacting Mixamo, from whom I purchased the models. For anyone considering using their service (which is currently free but will probably cost more in the future after Adobe decides on their pricing), I can highly recommend their customer service.

It had to do with my avatars; each animation imports by default with its own avatar, but in order for root animation to work correctly, they need to inherit the avatar from the t-pose. Mixamo covers this briefly in their own tutorials, but it isn’t explained very well in any of the tutorials I’ve read from the standpoint of why this is the case or that it is a necessary step. I’m thinking of writing my own tutorial/checklist/quick-start guide due to this lack of clear-cut resources and in general the horrible usability of Mecanim. It seems pretty obvious the engineers in charge of Mecanim have no supervision from a design team.

2 Likes

Hi there,

I have a very similar problem: after playing a certain mixamo animation, no matter what the settings are, the character resets to the previous position. I have followed the settings from the mixamo forum (humanoid avatar from model copied to animations, apply root motion set), and the character is set up with a T-pose in mecanim, and even so, the same thing happens.

Do you have any suggestion how to resolve this?

Perhaps a dumb question, but have you changed the clip settings for transform position to something other than original?