Hi,
I’ve recently started playing with the humanoid stuff built in Unity, mostly to benefit from the retargeting possibilities.
Overall everything works great, however, there is one issue I cannot wrap my head around. Despite the fact that the IK pass is disabled in the anim controller, the “Foot IK” is unticked in the animation clip, and the animation import parameters are specifying “Original” for Y root motion, Unity still “snaps” the Toes bone to the floor, and messes with the Y root motion.
To illustrate the issue, here is a picture of the rig for the feet
And here is how the same foot gets positioned during a walk animation. Hopefully it is clear that the foot gets inside the ground. You can also notice the penetration of the ground for the right foot (which does not happen in Blender, the foot is always properly over the ground).
There is root motion in the animation, with the Y always at 0. The animation is properly taking the “offset” of the shoe sole.
If I import the animation using a generic rig instead of the humanoid, the root is never touched by the animation and the feet are properly never touched either.
There is no physics involved here.
I’ve tried playing with the avatar mask and the root motion node, without success (disabling the feet IK in the mask do not seem to do anything, while setting the motion node to “Root” instead of “None” basically breaks the motion (XZ position gets back to 0 at the start of each new animation cycle)
So basically, my question is, is it possible (and if yes, how to), have the animations behave “as-if” they were in generic mode, mostly, is it possible to avoid having Unity touching the root Y and the feet position of my humanoids?
Thanks in advance.
P.S. I’m using Unity 2021.3 if that might be useful.