Since there are more then 3-4 characters to be rigged we agreed having some way to make a rig once and re-use with minimal manual tweaking was needed.
Over the past few weeks Nathan and I have been working together to make a system which can generate these in a way that lets us apply them in a variety of situations.
Nathan broke his rigs down into body parts; hips, neck, spine, finger, arm, palm and leg. with the desired ‘before & after’ for each.
Then I took these and wrote a script that would look at the simple rig and create the final version.
After this it was just a matter of putting it all together to rig an entire character.
If this proves its self to be useful it may well become the defacto auto-rigging system in blender, too early to say now.
Rigify Demo .OGG file (higher quality)
Please excuse the needless mouse waggling, clearly I can’t talk and use blender at the same time 🙂
- Written entirely in python 3.1
- Uses the blender 2.5 data api from python and operators in a few some cases, mostly to toggle editmode.
- ~400 lines of code for the rigging system, ~400 lines for utility functions, ~2500 lines for 9 metarig types.
- Rig types are separate from the rigging system, new rig types can be added by copying files into the module directory.
- Pose bone properties, one tag per rig type, optional tags can be added to set layers and the root parent.
- PyDrivers got a ~20x speedup by caching the compiled expression which helps since we needed to use PyDrivers in the more complex rigs.
- Available the regular Blender2.5 SVN revision 25450.