Okay, so firstly it’d be more accurate to call it “Automated and Procedural Rigging Module” since the intention is that it could be used to automatically generate a rig based on user-defined settings OR procedurally generate a rig or individual components of a rig.
Secondly, where do I even begin?
So, I had already created a script to rig up a simple IK/FK system for a limb based on a 3-joint chain. I also had a script to rig up a combined IK+FK torso based on a 2-joint chain (it added in x joints to the chain first).
Since then I’ve decided I want to take a more pythonic approach, which will ultimately ensure a more versatile script (in actuality a fully packaged module) at the finish.
So I decided on my file structure and made a control class (makes a square or circle control inside an offset null, parents the null to a parent if one is provided, translates it if parentTo == a valid object, orients it if orientTo == a valid object, colors it, and I think a couple of other things. I’m gonna add rotation order to that eventually too.
I also set it up so that after creating the control object, the color and scale can be changed at any time with a setNewColor(‘COLOR’) and setNewScale(SCALEFLOATVALUE) method respectively.
I then created a class to generate the overall rig group structure and create a World and Pivot control.
Next job will be to re-interpret the torso and limb code into classes. I’ll probably split the functionality of splitting a joint chain into a separate function under the utilities module, so that it can be used for adding forearm twist as well as torso creation, as well as any other currently-unforseen uses (not to mention being able to use it independently of the rigger itself).