Hey,
Maya has different skinning methods which will give very different results.
Classic linear, dual quaternion and weight blended.
Both classic and weight blended works for me perfectly, but then I import my animation to Unity, It gives quaternion blending method, which is not suitable for me. Is there a way to control which method is used in unity?
If Unity does not support other methods, is there any work around this ? Or I have to stick with “Macho” characters in Unity ?
I’d like to know this as well.
Not knowing this answer - I’ve attempted to keep this in mind while modeling however it’s not the most optimal approach, as it requires to model areas anatomically incorrect.
A related example of matching the 3D work to Unity’s methods is bone influences. Unity only supports 4 bone skin influences per vertex. 3D editors can support as many as needed for a ultra smooth twist rotation, since Unity only supports up to 4 influences - in Max I set the Maximum bone influence to 4 to assure I get ‘like’ Unity skinning in Max.
Another example is twist bones which are slightly supported, however setting 4 twist bones per limb in 3D editor will naturally look like a collapsed balloon animal in Unity.
Sorry for masking a non-answer with a friendly workflow suggestion.
If you find the ‘correct’ workflow answer to fix this - please share.
Both methods you mentioned are in my rig as well. I also have set driven keys which rotates and moves shoulders inwards after arms go down, but still, its not the same as good skinning method.
Good point - I use that as well.
Max also has angle deformers built into the skin modifier which work really well for this type of problem. It’s pretty easy to setup and corrects collapsing inner joints, smooths trouble rotational areas like the shoulder and can even give some convincing bulge on contracted joints, all driven by the animation created - the bend angle of the joints.
Unfortunately this sub-object skinning effect built into the skin modifier is completely dropped when brought into Unity.
I believe it’s actually the limitation of the fbx file transfer.
Mine do match perfectly and I think most 3d packages uses the same method, Unity quaternion should be the same as weight blended in Maya, dual quaternion is not supported.
I think it’s just a matter of bones influences. check you didn’t use more than 4 and that it’s actually set to 4( or whatever you use).
There are two places where it can be set, the skinned mesh renderer and in project settings under quality/blend weights.
I had the same issue before and I had skinned mesh renderer set to auto, that just use the quality setting, while I thought it was trying to optimize automatically.