Drive Shape Keys with Bone Properties in Blender
Driving a shape key value with a custom bone property allows animators to control mesh deformations directly through an armature's pose controls. This guide covers the complete, step-by-step process of creating a custom property on a bone and linking it to a shape key using Blender’s driver system.
Step 1: Create a Custom Bone Property
- Select your Armature and switch to Pose Mode.
- Select the specific bone you want to use as the controller.
- In the Properties panel on the right, go to the Bone Properties tab (green bone icon).
- Scroll down, expand the Custom Properties panel, and click New.
- Click the gear icon (Edit Property) next to the new property:
- Property Name: Give it a descriptive name (e.g.,
Smile_Control). - Type: Float.
- Default Value:
0.0. - Min / Max: Set these to
0.0and1.0(or your preferred range). - Soft Min / Soft Max: Set to
0.0and1.0for slider limits in the UI.
- Property Name: Give it a descriptive name (e.g.,
- Click OK to save the property settings.
Step 2: Copy the Property as a Driver
The fastest method to link the property is using Blender's built-in driver copy feature:
- Right-click directly over the newly created custom property slider in the Bone Properties panel.
- Select Copy as New Driver.
Step 3: Paste the Driver onto the Shape Key
- Switch to Object Mode and select your mesh object.
- In the Properties panel, go to the Object Data Properties tab (green triangle icon).
- Expand the Shape Keys panel.
- Locate the shape key you want to control.
- Right-click on the shape key’s Value slider and select Paste Driver.
- The value field will turn purple, indicating an active driver is linked.
Step 4: Verify and Adjust the Driver Configuration
If you need to adjust the influence or configure the driver manually:
- Right-click the purple shape key Value slider and choose Edit Driver or Open in Drivers Editor.
- Ensure the Driver Type is set to Averaged
Value or Scripted Expression (with the
expression set to the variable name, such as
var). - In the input settings:
- Prop: Set to your Armature object.
- Path: Verify the path points to the bone property
format:
pose.bones["BoneName"]["PropertyName"].
- Switch the armature back to Pose Mode and adjust the custom property slider on the bone to verify that the shape key updates in real time.