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
- Convert armature motion to keyframes, as well as shape keys, for exporting out of Blender
- 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 Unreal Engine 5, Unity and so on
- 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
Can I export driver data outside of Blender, like Unreal Engine 5 or Unity?
- Yes, you can use the driver exporter tool to convert armature motion into keyframes
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/
Want to get Driver-Rig with Master Shape Keys as a bundle for a lower price?
- Say no more - https://inlet.gumroad.com/l/d-rig-msk-bundle
VIDEO DOCUMENTATION
DOCUMENTATION
Location
Panel
Object Data ‣ Shape Keys ‣ Driver-Rig
Driver Exporter
Panel NLA Editor ‣ NLA Strip ‣ Action
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/RemoveCreate a new Control Bone or delete the selected one
Up/DownMove 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/RightThis 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 KeysThis 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
DuplicateThis makes a duplicate of the selected Control Bone
Driver Exporter
Bake Drivers
For all all selected objects, bake the values of all shape keys (with drivers) to keyframes. This is baked from all NLA Strips of the active object, creating one new NLA Strip which is created for each NLA Strip in the active object
Remove Drivers
Remove drivers from all shape keys of all selected objects
Settings
Object RigThe 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.3
- Added a driver exporter that turns the armature motion to keyframes, as well as shape keys that can be easily exported to Unreal Engine 5, Unity and so on. Limited to Control Bones made with DriverRig.
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