When selecting a root motion animation and going to the animation tab, there are a number of options for “baking into pose”. I’ve noticed that when I do this for some animations the root motion is basically changed to in place. However for other animation clips this only freezes/bakes the root node into place but the rest of the animation continues using root motion. Why does this work for some animations and not for others?
For example, let’s say I have a root motion jump animation. I would like to bake this so that there is no vertical (y) root motion in the animation at all and the animation is completely in place. This way the jump height can be controlled via physics only. But as mentioned above, instead what happens is that the root node stays baked in place only, and the rest of the animation moves up vertically.
Is there something I am missing with these settings? Or is it not possible to achieve this in Unity?
If checking the bake options in the individual animation import settings does not do it, one way to disable root motion for an entire character is to uncheck “Apply Root Motion”.
Followed the methods mentioned here works for me but not enough, I was changing a turn 90 animation from root to inplace and by deleting the root Q it disables the character do the turning animation, but character will still change his direction at the end of the animation, in this situation you need to delete the motion Q as well. This way character will not change direction during the turning animation and at the end of animation. Hope this helps.
If you don’t want to copy/edit the animations you can also use an animation mask that specifically ignores the root (Masks can be added under the ‘Mask’ tab in the import settings of the animation). This will only be useful if you want to remove all root motion though, since you can’t mask specific axes.