So, I’ve been working on a new character from scratch. She’s an Edo-period Japanese peasant girl, wearing a scruffy kimono. She’s the simplest character of a set of characters I wanted to develop, because she has no particular “feminine” posture. She stands simply, with a standard Blender Rigify meta-rig.
I made a few animations that would be specific to my project, relying on the fact that there’s a vast number of Humanoid Mecanim animations out there to round out the project for the basic stuff like walking and running.
After the transition, the figure has been pulled to a new pose. Obviously there should be a little difference, as the mocap actor held his hands in a different way than I posed my figure, and so on. But essentially, they are both standing at ease directly over their feet, so I would expect the same. Instead, the thighs have been pulled forward so she’s off-balance. You can’t really see it in a single shot, but she gets a bit thinner too. I’m guessing it’s spine curvature, though she doesn’t get taller with the flattening of the spine.
I guess I’m wondering what differences in my Blender rig (a plain Rigify meta-rig with no IK bones) and the mocap skeletal data (which we can’t see). The upper torso seems fine, so it must be a difference in where the two rigs think that the femur connects to the pelvis.
I thought it might be a difference in my rig’s muscle definition, so I reset all of it to defaults, and tried again from the beginning: same problem exists. It really does seem like the issue is between the skeletons.
I also thought that I might be able to adjust the mocap animation to fit my avatar. So I changed from
to
but then all that I see in the animation is my character goes to the fetal (no-muscle) position for the whole strip:
The Console explains the error pretty simply:
I really am confused at this message though: I thought the whole point to Mecanim was to avoid having bone-naming conflicts. That’s why you identify what is the “hips” and what is the “second knuckle of the index finger” using a cute little GUI. Every animation can refer to its original skeleton, then map it to the new skeleton. It seems to work in some places but not others. If not, I will have to go back into my character and remap… and hope that some other animation on the store doesn’t use the word “Pelvis” instead of “Hips.”
If Mecanim really is not able to compare two skeletons for their relative joint positions, bone lengths, and so on, then it’s really not as re-targetable as it claims to be. This character is a plain humanoid standing in a very similar visual posture to the original mocap, and yet I can’t just use the hundreds of animations on the Unity Asset Store or the Mixamo Animation Store. I’ll have to do all the animations from scratch (either the specialized ones I’ve already done, or the general ones I hoped to use).
My next character was going to be an old woman who is hunched over a bit. This problem would only get worse. I’m really hoping there’s something I can adjust now.