0
\$\begingroup\$

The humanoid rig behaves strangely with my animation from Blender. Here is a demo of the problem - video.

Can anyone suggest what the problem might be?

\$\endgroup\$
1
\$\begingroup\$

It appears that you don't have "Apply Root Motion" checked in your Animator component.

Without that setting, the root bone of your 3d model stays bolted to the game object and all the other bones move relative to it.

With that setting, the whole gameObject will move when the animation moves the root bone. So in effect the object will move down when the root bone moves down.

Leaving this disabled can be useful in some cases because it ensures that your C# scripts retain full control over the position of the game object. But it is of course inconvenient when you have animations like this which change the height of the object root. It also means that you are now responsible for making sure that the speed of the walk cycle matches the speed with which you move the object. When you use root motion, then the movement speed is defined by the root motion of the walk animation in blender.

\$\endgroup\$
0
\$\begingroup\$

The wrong bone was assigned to hips slot in the Humanoid rig settings.

I figured this out, assuming that my hip bone for some reason does not have animation, it hangs static in the air. Then I looked into the Humanoid rig configuration and saw a bone in the thigh slot that I really didn't animate and which is generally a root, not a hip.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ This answer would be even better if you edited it to expand on how you identified the wrong bone was assigned, how you identified the right bone to replace it with, and thus how you solved the problem. \$\endgroup\$
    – DMGregory
    Nov 24 at 19:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.