RVOController breaking root motion crouching character (solved)

I have a character playing an animation and being moved by Root Motion. This character is also being moved by an RVOController. For the most part this works well, but at one point in the animation the character crouches. When the RVOController is active the hips stay in the same place and the legs raise up. I think this may be happening because of the ground element of the RVOController. Maybe the character’s hips are being kept at a fixed distance from the ground. Is is possible to disable this? Would that solve the problem? Has anyone else seen this before?


(Left) What the animation should look like.
(Right) What the animation looks like when the RVOController is active.


Maybe your animation has the pivot point at the hips. Usually when using root motion you should keep the pivot at the feet.

I’m not sure how to move the pivot point. The way the character imported into Unity there are two GameObject. The first contains the the Animator, RVOController and a script I wrote to control the character (Pictured on the left). The second GameObject (a child of the first) contains the Skinned Mesh Renderer (Pictured on the right).

It looks like the pivot point for the parent object is at the feet, and the child object has the pivot point at the hips. When I open the FBX file in blender it looks like the pivot points for the mesh and for the skeleton are at the feet. When I Googled how to set the pivot point of the animation I found people saying that the only way to set the pivot point was to make the object a child of an empty game object. I tried this, but it didn’t change anything.

Thanks very much for the help!

After updating the the RVO Beta 3.8.5 my problem seems to be solved! Hope that helps people in the future with the same problem.

Thanks for the help.

1 Like