Hello everyone,
I am working on rigging and skinning a face in 3DS Max, and have used Paul Neale's fourth DVD on facial rigging as a guideline. The rig itself works perfectly, all the bones stretch just as they should. And when I add the facial bones to the skin modifier and add some weight to them, it all seems fine in the base pose. I can grab the helper objects and rotate them, and it all works perfectly. However, as soon as I start to move the helper objects (scaling the bones), the vertices go crazy. They fly off in one direction or another, at a speed exponentially greater than I am moving the helper. For example, I will move one of the lip helpers down a very small amount, and the vertices weighted to it will shoot up over his head.
I have tried everything I can think of, including:
- Resetting the vertices in the skin modifier
- Making sure Normalize is turned on in the skin modifier
- Resetting the XForm of the mesh and re-skinning
- Rebuilding the rig and re-skinning
- Unlinking each bone so none are linked together
- Using both the 'scale' and 'squash' settings under Scale in the Bone Tools menu
- Tried the same rigging technique on a newly created sphere, and got the same results
- No bones have been mirrored
I am really stumped, so any help would be greatly appreciated!
Replies
@Adij: I have not tried that yet, but I will.
@SlyRipper: I tried the low values, still no luck. I have tried the sphere thing, but it was in the same file, so I will try a new scene. And while switching versions might be impossible at this point, I will certainly see if it happens in others (I'm currently running 2012)
Maybe, try checking "Back Transform Vertices" in the Skin Modifier.
I think I've figured out the problem. CrySkin (plugin skin modifier for CryEngine) does not play nicely with stretchy bones. When I put a normal skin modifier on, it works perfectly.
"However, as soon as I start to move the helper objects (scaling the bones), the vertices go crazy."
CrySkin is Max' Skin modifier but with the limitations of a real-time engine already applied for better preview (Dual Quaternion Skinning and No Scaling allowed). If you are planning to bring this into CryEngine (or Unreal or Unity) - do not scale the bones at any cost!
In general, scaling rigs is considered the worst possible thing you could do in most pipelines (even when working in movies, its still frowned upon, as it will likely break other systems).
If you want scaling behavior, its usually better to create a sub-rig with a couple of helper bones that get translated accordingly, as you scale a controller outside the rig.