How to prevent mesh shrinkage when rotating bones without "Preserve Volume"?

I created a 3D model in Blender and animated it with an armature and bones before exporting it to Unity3D. As some of the rotation animations arbitrarily made the mesh shrink, I had to select the “Preserve Volume” option in the armature modifier.

However, I realized afterwards that Unity3D doesn’t recognize Blender’s “Preserve Volume” feature. While the model’s animations played fine in Blender, the shrinkage problem resurfaced in Unity3D.

Is there a simple alternative to the “Preserve Volume” option that fixes the random shrinking, does not require me to ditch/redo my armature, rigging and animations, does not involve fancy python scripts and is Unity-compatible?

Thanks in advance.

I have run into the same problem. Still looking for a solution :confused:


(Corrective) Shape Keys = pose the meshes
(Corrective) Bones = more bones to adjust areas of models

It’s called Shape-keys, or what’s called “corrective shapes”.

Blender and other programs exchange mesh/armature-bones/basic material information/arbitrary object information (names/relative location/parenting/etc). Essentially bare minimum kind of stuff. Modifiers are not a bare minimum, including the armature modifier, which isn’t actually used, rather when it’s exported, the armature in it is only designated as the mesh’s armature (point is, the modifier and it’s settings aren’t used)

However, Shape Keys/Blendshapes/whatever-a-program-wants-to-call-it are essentially a secondary mesh/armature animation data exported.
Problem is (afaik) the animation isn’t exported, meaning you would have to re-animate the shape-key values elsewhere.

Basically in Blender, you’d normally set drivers to the shape keys to change when you move a bone; the bone would be animated and the shape-key would animate with it. This animation isn’t exported, so you would have to fix that (or manually animate them) in your other program.

This could be old information and the new fbx exporter “could” use animated values. I’m not going to experiment to find out.

However, this and/or corrective bones would be your only options for “exporting”.
And what a corrective bone is, is a bone weight-painted like any other bone but instead it’s not treated like a limb but more like a a clamp on the skin. You parent it to the bones you’re animating then you move it around to fix the areas it’s applied to.