2025-02-13 Shape Keys Management

Hey Julian, thanks for the question. This particular workflow is well established in the animation industry (where maya is dominant indeed) for both feature films and series, and to be fair, there’s no right or wrong in how to implement or manage shapekey deformation given the possibility in Blender to do it all within the same mesh. In this particular case I’m planning to establish a workflow that is scalable for bigger animation productions, standardizing the facial rigging process in a way that a team of riggers can churn out 20+ characters with the same components. Therefore the main benefits of having external shapekey meshes are the following:

  • Using temporary armature bones to create consistent shapekeys are a great way to allow a smooth transition between poses (for example mouthcorner deformation) These are fundamental for generating cohesive shapekeys that seemlessly blend together. By doing this setup on a separate mesh, avoids stacking all these modifiers into one mesh. Managing this mesh data separately gives the freedom to add temporary deformations without conflicting with the target mesh.
  • Having a instant visual overview of all shapes in the viewport helps a lot when this layout is standardized. This means they are neatly categorized and mapped to distinct facial areas. This is mostly the same for a humanoid character, but can be customized when needed. Addressing director’s feedback on a rig that isn’t made by you, makes it a lot quicker to access and know where to look for, when the rigging department is using the same ‘visual template’. You don’t have to turn on/off shapekeys in order to find the right shapekey to iterate on.
  • Splitting Weights is a method used to devide a broad shape into smaller chunks in order to assign them to ‘local’ control bones. This process is mostly automated and requires their own vertex groups for proper masking. Currently we use a Geometry Nodes setup to do this process quite efficiently, automating the splitting process. This allows us to iterate broad shapes easily and converting that shapekey into smaller chunks automatically.
  • Updating Shapekeys are a key tool in this workflow. By using a script that automatically updates evaluated external mesh data to shapekeys with it’s corresponding name allows the rigger to iterate on broad shapes by using any deformation tool available without cluttering/interfering with the final model.
  • Avoiding unnecessary data on the final rig like vertex groups used for masking, temporary armatures and other data necessary to control designed shapekeys. The final rig only contains the ‘baked’ shapekeys.
  • Separate meshes allows their shapekey data to use as a way to iterate feedback, like layers. Where each new shapekey is a new pass, keeping track of the previous versions as shapekey layers.

The longterm plan is to provide an ‘facial rigging course’ on the Blender Studio website where these methods will be explained and applied to a new character rig.

Besides the workflow topic, this meeting note was mostly to share thoughts about improving shapekey management, which should ultimately benifit anyone using shapekeys regardless of specific workflows. The tool updates suggested are merely upgrades of what is already there and is mostly focused on applying operators on multi selection.

Hope that clarifies a bit :wink: !

14 Likes