Help! DeformMesh won't behave

Good morning!

I’m rigging a human character with rigify and a MeshDeform on the head, following CGCookie’s Advanced Face Rig Tutorial (http://cgcookie.com/blender/lessons/creating-an-advanced-face-rig-part-04/). The Deform mesh is restricted to the head, via a vertex group, and the armature is excluded from that group.
So far, so good. Everything works great, together. The Deform mesh has a few bones to exaggerate facial gestures and everything’s great.

HOWEVER, there are two problems:

  1. When rotating the head, it also deforms. It gets squished or the nose is flattened, depending on the rotation. It’s the worst at 180° around the Z-Axis, and it happens also when rotated by the root bone (thus moving the whole body).
    I looked at the CGCookie file, ahowing similiar behavior. But this is undesireable, as I only want the head / deform mesh to deform through my facial bones. Otherwise it’s impossible to animate/pose the rig properly.
    When moving the head (G, for example side to side), it gets deformed heavily. Before I added the facial bones, moving the head was not possible. The rotation deformation however was already happening.

  2. The head mesh also gets ever-so-slightly outside the Deform Mesh when rotated to extremes, causing artefacts around the eyelids.

I checked:

  • The rotation and scale is applied everywhere, and the common origin is at zero.
  • The Meshdeform encloses the whole head, without any collisions.

Help would be greatly appreciated, and I will gladly provide the .blend if needed.
Edit: Here it is. https://drive.google.com/open?id=0B8u0k98vi1rTS3Fqa2pRSEhvZnc&authuser=0

Thank you.

Link a blend. I think you have a parenting problem.

Here it is: https://drive.google.com/file/d/0B8u0k98vi1rTS3Fqa2pRSEhvZnc/view?usp=sharing.
Please disregard the bone shapes being too big, I’ll fix that eventually.

I can’t find what is causing the problem. None of the usual suspects.

Unfortunately, I am running short on time tonight. I won’t have a chance to get back to this until tomorrow evening.

Get your post count up to ten. People appreciate comments on their projects. I would go to the other sub forums to pad your post count.

Also, you may want to make a sample file that is quite a bit lighter then the one I have. Textures, materials and UV maps are not needed and will save quite a bit in file size if you delete them.

You may want to try to rebind the deform mesh one more time. Scale the deform mesh with ALT-S. This will scale it along the normals and try a rebind. The subsurf may be tricking us into thinking there are no intersections. You could also try binding at a higher precision. I have gone up to 7. Higher then that often causes a crash, so save your work before binding.

Sorry I could not help more.

Good luck!

Hi Dan, thanks for looking into it.

Unfortunately, this is the smallest size I can go. Textures/UVs are already deleted. The deform mesh seems to grow the file size enormously. My reply sharing the .blend still awaits moderation.

Even without subsurf, all objects (head, eyes, hair) fit inside the mesh. I just scaled up (and applied, and rebound) the deform mesh anyway, but it has the same effect (see pictures). I can only go to precision level 6. 7 causes instant crashes.



The pictures show the rig at frontal view (1) and with the root bone turned 180° along the Z-axis (2).
As you can see, the face and deform mesh deforms and the face gets outside the mesh slightly. The (mesh) hair acts the same, it’s just hidden.

Please give it another look if you can spare the time. Have a nice day.

Ah…yes… I forgot about the file size getting inflated when using the mesh deform mod.

I have not been able to track down the solution, but I think I can suggest a work around.

You can apply the mesh deform as a shapekey. Then add a bone or custom property to your rig (or use an existing bone) to drive that shape. This is not an ideal solution because you may have to make quite a few shapekeys depending on your needs. Also, for each shapekey you make, you will have to re-add the mesh deform mod. This can be time consuming.

This solution should help your file size as you are no longer using the deform mod in the rig.

Sorry I could not find the real problem.

Good luck!

Edit: I just did a test and applied the mesh deform as a shapekey for the head and eyes. The file size went from 250 megs to 70. That’s a huge savings.

Mhm, that’s a good last resort. I think I may have found the reason it’s misbehaving. Keeping the Deform Mesh would certainly be more fun than using shapekeys. I’ll report back after Easter.

Edit: Alas, the issue wasn’t found.
I thought the problem was that the facial vertex groups existed on the DeformMesh before it was bound to the body. Redoing it in the proper way (1. Parent DeformMesh to armature with automatic weights, 2. Bind body/head to DeformMesh, 3. Weightpainting on DeformMesh for facial expressions) gave me the same issues.

Oh well. I guess I’ll have to go with the shapekeys…