Adding Blendshapes after Rigging
Ideally you want to set up your blendshapes before you bind your model to the skeleton but sometimes you realize you need them after your bound and weightpainted the mesh. Here are steps you can follow to still end up with the blendshape deformer before the skinbind.
Please Note: This technique is rendered obsolete since Maya started to automatically insert a blendshape on a bound mesh before the skincluster node.
The blend shape window (
The blend shape window (
Windows > [Editors] Animation Editors > Blend Shape) allows you to add new targets.
- Make sure your rig / model is in bindpose (undeformed)
- Select the bound mesh and duplicate it. This will be the mesh you will be binding later after applying blendshapes to it. Name it("MyRiggedCharacter" for instance) and you may choose to also rename your original mesh ("OriginalBoundMesh" for instance)
- Duplicate your mesh once again
- Name the duplicate ("BlendMesh" for instance). You may want to unlock the transformations on it, so you can move it out of the way.
- Duplicate the new mesh ("BlendMesh") again and name it ("HappyShape" for instance)
- Select the third duplicate ("HappyShape") and shift select (add to selection) the second duplicate ("BlendMesh")
- Create a Blendshape deformer (
Animation > Create Deformer > Blend Shape > Options
) - this is the one that will have multiple inputs and create the blends, give it an appropriate name ("TheBlender" for instance) - Select the second duplicate ("BlendMesh") and shift select (add to selection) the first ("MyRiggedCharacter")
- Create another Blend Shape deformer. The only blending this one will do is turning the blend shapes on and off on the bound mesh. Name it approproately ("BlendOnOff" for instance)
- Bind the first duplicate ("MyRiggedCharacter") to the same joints the original rigged mesh ("OriginalBoundMesh") is bound to. A simple smooth bind is fine.
- Select the mesh with the correctly painted weights ("OriginalBoundMesh") and shift select the newly bound mesh (the first duplicate, "MyRiggedCharacter")
- Copy the skin weights (
Animation > Skin > [modify] Copy Skin Weights
) - You can hide and eventually delete the orginally weight painted mesh
Checkup
Time to check if all is now in the right order. We can do this easily in the Channel Box.
- The first duplicate ("MyRiggedCharacter") has as inputs:
- itsMesh
- skinClusted2
- BlendOnOff
- someTweak
- The second duplicate ("BlendMesh") has as inputs:
- itsMesh
- TheBlender
- anotherTweak
- and as outputs:
- BlendOnOff
- skinClusted2
- The third duplicate ("HappyShape") and all consecutive duplicates that you will add to the "TheBlender" deformer has as inputs:
- itsMesh
- It has TheBlender as output but that does not show up in the channel box for a reason probably obvious to the people who programmed Maya but a mystery to me