Mecanim Generic and Rigidbody

I have asked this question in UA but I get no response at all, so I post this question here, hoping to get some comments and discussions, and hopefully the solution to my problem. To cut it short:

  • Mecanim Humanoid works perfectly with gravity (rigidbody), the character dropped to the floor when it is in mid-air, and the character can move forward freely. (I am using the example scene provided by Unity)

  • Mecanim Generic (at the very least, in my case) doesn’t work with gravity, I always get either of these 2 results (plus some no-so-different variations):

  • The character is moving forward, but it is stepping on air, the gravity (rigidbody) is not working

  • The gravity works, the character drops down when it is in mid-air, but it no longer moves forward. The animation is working, just that the gravity kind of interfere with the root bone and prevent it from moving.

This is the package I am working on to solve this problem, I think the key to solve this is to juggle between the mecanim-settings and rigidbody-settings, but I ran through a lot of combinations and I am no where near getting it to work: https://www.dropbox.com/s/dsnd2w5tsvnnrcc/MecanimGeneric.unitypackage

I hope that what I am facing is just a setting problem, not a fundamental-behind-the-scene-and-I-cant-do-a-thing-about-it-at-all thingy. Give the package a run and see if you can figure it out.

that is normally the behavior i see when you are using root motion since the animation is moving itself meaning being animated moving forward that is i what you are seing in unity happening since that is how it was animated. so you might need to manually script gravity to push it down