So I have this really simple model, it’s just an animated dinosaur that plays an idle animation and looks nice.
The only problem is that the dino changes it’s position and rotation when the idle animation is played. For some reason I added a character controller and that prevents the model from snapping back to (0,0,0), but it still rotates to (0,0,0)
I also have another instance of the model that doesn’t do the same thing
Also I’m using the mechanim system instead of the legacy system
Does anyone know what causes this? Thanks in advance
To anyone with a similar problem, I found the issue. The “Apply root motion” check box is activated by default, this is only useful with objects inside larger objects that don’t want to contribute to it’s motion I think.
Just try toggling it if you have a problem like this.
5 Likes
I your animation are in place (shouldn’t affect overall position) uncheck root motion. Otherwise go into the animation import options and check “bake into pose” for the rotation (it tells unity that the animation should affect rotation):
Make sure that your animation is looping correctly as well.
4 Likes
I know this is very old but if someone found this by google like I did, go to the object that have the Animator Component and check/uncheck Root Motion, It will fix it!!
( Alternative solution is u can disable Animator by default and in script when you want to run animation Enable it and on animation end, Disable it )
1 Like