Unintended translation of in-place animations in mecanim: apply root motion

Hi,

I have made some basic animations in Blender to test out Unity’s new Mecanim animation system. I need to have in-place animation as opposed to the example used in the tutorial. I have done this by making an idle animation and a run animation in Blender. I have imported said animations into Unity. In the preview window, both of these animations are working perfectly (even retargeted) and are in-place as I intended. I have checked the box to make sure no displacement is taking place on the x/z plane or y-axis and have rooted the rotations (there are none in the animation but just to be sure…).

I have input these animations in a new Animator component, allowing the character to run if speed reaches a certain threshold. No script is attached to the character, I have been testing the animations by changing the parameters in the Animator. When said to run, the character undergoes a slight translation from its origin. When reverting to idle the character has undergone a slight displacement. The character does run in-place but there is appears to be an offset from the origin. I’m guessing I’m missing something basic? Is the problem related to Unity or the animation itself?

Do you guys have any idea what is causing this? If need be, I can post the project.

Thanks in advance,

Sam

EDIT: Unchecking the box “Apply root motion” on my character solved the problem. Now I’m wondering why that is? I would think that I would want to apply root motion to make sure no translations are happening (I made sure of that by checking the correct boxes in the animation clip) but instead it’s the other way around?

Hey!

I actually have the same Problem: http://forum.unity3d.com/threads/203635-Mecanim-Blender-Animation-Model-translates-more-and-more-from-its-origin

I’m so desperate!! :confused:

But i can’t find the “Apply root motion”-Box. Can you please answer on my post on the link?

Kind regards,
Xinodir