(EDIT: Fixed in Blender v2.72!)
For the last couple of days I’ve been struggling with BlendShapes in Unity, or more specifically, I’ve been struggling with issues caused by the presence of BlendShapes (which I’m using for character customization purposes). Without BlendShapes, my character model (based on a model exported from MakeHuman, though it does not seem to be particular to models originating from that software) appears fine in Unity. However, if I add BlendShapes - in the form of Shape Keys in Blender - artifacts appear on the surface of the character model after importing it to Unity. See attached screenshot.
I cannot for the life of me figure out why this is happening; I’ve flipped normals like they were pancakes, recalculated them too, triangulated the mesh, UV unwrapped in different ways, tried cleaning up the mesh as best I could, tried every single mesh-adjusting option in Blender, with very little to show for. It matters not if the Shape Keys are “empty” or actually contain shape changes. Neither does the format in which the model is imported to Unity seem to matter (I’ve tried .blender and .fbx exported from three different Blender versions). Switching to unlit shaders in Unity hides the problem to some extent, but does not fix it.
I’ve found only one “solution” so far. It is an ugly hack that involves scaling the character model up 5 times in Blender, applying scale transform, then scaling it back down to regular size without reapplying scale transform. Ye gods! After that, it works perfectly in Unity; no artifacts, the rig works, animations, textures, blend shapes, all good.
This hack does not, however, seem like a long-term solution. Any other suggestions for fixing the issue and/or thoughts on what could be causing it?
A zip-file with a test-model from Blender is attached, containing some dummy Shape Keys.