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.