-I created rig, mesh, and animation in Blender
-I imported my blender model into Unity. The rig is marked as humanoid
-I play my animation, but it does not match the blender animation. My shield points in the wrong direction.
Here’s my blender mesh/rig/animation
Here’s my blender model imported as a generic (not humanoid) model. Everything matches correctly.
Here’s my blender model imported as a humanoid (not generic) model.
-(Left) The humanoid rig has all default settings (0.5 muscle ranges) and the animation does not match.
-(Right) The humanoid rig 1.0 muscles ranges. The animation matches
It took me a long time to figure it out but it appears that the animation is being changed by Unity due to muscle range motion limits.
Has anybody else ran into this? What’s the proper way to handle it?
The best solution to avoid this would seem to be creating a Blender rig that has the same muscle limitations as Unity with 0.5 muscle limits. That way you can’t create animations that aren’t physically possible with a typical human skeleton.
I’ve read/watched a lot of tutorials on rigging humanoids and
1: Every tutorial uses a slightly different rig. There doesn’t seem to be a standard bone/IK/pole layout for humanoids.
2: Nothing I’ve seen discusses how to properly limit IK/bone motion for a typical human body in Blender. Or what those values should be to match Unity.
The alternative bandaid is setting all humanoid muscle range limits from 0.5 to 1 allowing my Unity humanoid rig to achieve any motion. However this doesn’t seem proper because then I will be doing animations that won’t look realistic.
Or is there another solution?
Thanks in advance.
