Tutorial

[Tutorial] Adding Geometry to Existing Blendshapes by Jeremy Ernst

I had a question recently about a situation where a bunch of blendshapes were made, and now hair cards needed to be added to the mesh, and if it was possible to retain all of those blendshapes and add that new geometry.

The answer is yes!

So here is a simple example where we have a head and we have a blendshape that opens the mouth.

Now, some hair cards get added and we want those to deform with our blendshapes and be attached to the mesh (Assuming this is a realtime application where wraps wouldn’t be applicable).

In this case, we need that new beard geometry to deform with the blendshape. Rather than use a wrap, I’m going to create a skin cluster here instead so I can paint the weights. In this gif below, I create a joint, simply to get a skinCluster going and bind the beard to the joint. I then add the head mesh as an influence to the skinCluster, making sure Use Geometry is checked. Now, in the skinCluster, I can turn on UseComponents, and the mesh will deform the beard, much like a wrap, except now we can actually tweak the weighting of that deformation.

Here, I can tweak the weights of that deformation so the mustache area isn’t stretching.

Here are the steps of what’s happening in the gif below to get our new geometry added and deformed to our blendshapes:

(If you have a lot of blendshapes, scripting this would be ideal). For each blendshape, the process would be:

  • Move each blendshape mesh back on top of your main mesh.

  • Turn that blendshape on

  • Duplicate the beard geometry as it gets deformed by the blendshape

  • select the duplicated geometry and the blendshape mesh and combine. The combination order must be the same on every mesh. In this case, I will always select the beard, then the head, then hit combine.

  • Don’t delete history yet until all blendshapes are done. Rename the new combined mesh.

Once that is done and you have combined meshes for all your shapes, delete history on them, then do the same combination on the main mesh and the beard there (selecting in the same order as before, beard then head). Now when I hook my blendshapes back up, the new geometry is attached and nothing is deforming oddly.

That’s it!