Driver-Rig: Shape Keys to Bones
Ever tried setting up shape keys to be driven by bones? If so, you know how long and tedious the process can be to such an extent, to even be seen as unrealistic.
DriverRig is a simple, a necessary tool that can tame this big problem and remove all the wasted time that usually takes for manually setting these shape keys to be driven by bones.
What this entails is a more automated process to the utilization of your 3D or 2D model's topology. It doesn't matter what form that model is. Facial control over a character is one of the most powerful usages you could get.
So what can you do
- Make a list of Control Bones that activate shape keys
- Generate drivers for all targeted shape keys so moving the bones in a specific way triggers them
- Create a 3D UI with headings and Custom Bone Shapes for visual clarity
- Speeds up the process of adding bones and setting up drivers on shape key
- Much easier to test, track, edit and delete than it is in default Blender
- Use the generated shape keys in the Unreal Engine
- A bone can trigger multiple shape keys
- A shape key can be triggered by multiple bones
What are the versions
- Custom Bone Shapes without the addon (157 shapes as a .blend file)
- Full addon + the Custom Bone Shapes
The custom bone shapes can be used even without the script for your own rigs. Each shape has been crafted with different uses in regards to all directions, resizing and rotation.
The process can work on any mesh, not just faces. First you target the armature you want to control, then you add control bones to the list. Under the control bone, select which shape keys you want that bone to trigger. And finally, just click Generate.
It's important to remember that if a shape key already has a driver it will be deleted!
Naturally you'd generate more and more shape keys and things could get disorganized, for which Shape Key Collections offers the solution with a folder management system - https://inlet.gumroad.com/l/shape-key-collections
But if you want to also be able to divide shape keys, group and merge them, including the Shape Key Collections addon, then Master Shape Keys is the greatest toolbox you can add in combination to DriverRig - https://inlet.gumroad.com/l/master-shape-keys
FAQ
The .zip doesn’t install in Blender
- Please un-zip the archive and install the .py script.
How do I activate an addon?
- Use this 20 sec guide – https://youtu.be/wOv4oHO5Kqg
Is there an addon that can organize my shape keys in folders?
- Naturally you’d generate more and more shape keys and things could get disorganized, for which Shape Key Collections offers the solution with a folder management system – https://inletzone.com/shape-key-collections/
Is there another tool that can extend what I can do with shape keys?
- Master Shape Keys can separate a shape key, in Blender, into multiple individual shape keys. It also can merge or group them together, making things easier to manage. So go ahead and seperate both sides of a character’s lips, eyebrows, cheekbones and anything else for further expression and control – https://inletzone.com/master-shape-keys-2/
VIDEO DOCUMENTATION
DOCUMENTATION
Location
Panel
Object Data ‣ Shape Keys ‣ Driver-Rig
Actions
Generate Key BonesUpdate and generate all Control Bones in the active object, creating a 3D interface in the Object Rig. The Control Bones will activate all shape keys targeted under Directional Keys when that bone is moved in a specific way
Add/Remove
Create a new Control Bone or delete the selected one
Up/Down
Move the selected Control Bone up or down in the list. These are generated in the order they appear in this list, although bone ‘Groups’ are all generated together
Swap Left/Right
This will swap any shape keys in this Control Bone intended for one relative direction for another. It does this by looking for pairs of shape keys that start with ‘R_’ or ‘L_’, ‘Right_’ or ‘Left_’ or that end with ‘_R’ or ‘_L’, ‘_Right’ or ‘_Left’. If it finds a pair, it swaps Left with Right or Right with Left
Mirror Shape Keys
This mirrors the direction that is used to trigger the shape keys in a Control Bone. Specifically, it swaps the direction for Up/Down and Left/Right, as well as Bigger/Smaller and Clockwise/Anticlockwise
Duplicate
This makes a duplicate of the selected Control Bone
Settings
Object Rig
The rig the 3D interface will be generated to. This will usually be the rig being used to control the mesh. This cannot be ‘none’
Parent Bone
The bone inside the Object Rig the 3D interface will be parented to
Width
This defines how wide the 3D interface will go before the bones will generate on the next ‘line’
Draw Name
Enabling this will generate a label in the 3D interface of the name of the Control Bone to make it easier to track which bone is which. If this is not enabled, it only labels the bones as ‘groups’
All Caps
Because of how Blender renders bones, the text can be difficult to read. Enabling All Caps renders the bone text labels in upper case which is easier to read
Control Bone (each item has its own settings)
Name
The name the bone will be generated with
Group
The group the bone will be generated with. Control Bones in the same Group are generated together and have their own ‘line’ in the interface
Directional Keys
This list of directions show which directions a Control Bone will be able to be moved in to trigger which shape keys. Each direction may have multiple shape keys targeted inside.
Recursive Bone
You may find some more complex setups do not work. Specifically, if the same shape key is being used in opposite directions (the same shape key in ‘Up’ and ‘Down’ for example). Enabling this will allow this to work. However, note that there is a hard limit on how complex a driver in Blender can be, and enabling this setting makes a driver much more ‘complex’.
Changelog
Version 2.2
- The 3D interface now generates with a root bone which can be moved, rotated and scaled, just like any other bone. This has completely replaced the 'UI-based' system doing this with Offset sliders.
Version 2.1
- Can now give each shape key a target value which the shape key will be given. '1' means the shape key will have a value of 1 when the bone is at max position
Version 2.0
- Ability to use the duplicate key (CTRL+D), with the addon enabled, is now fixed
- Rotation location and scale offset values are more intuitive and update in real time
- Parenting capability now allows for specific bone parenting instead of just the root
- Eye dropper can now properly select the armature
- A bone can now trigger multiple shape keys
- A shape key can now be triggered by multiple bones
- There’s now an option to give each control bone a visible name in the UI
- Generated text is now properly removed after creation for the rig
- The text on the 3D UI is now cleaner and has options to be in all caps
- Addon made compatible with Blender 2.83