March 6, 2007
I read a paper recently on ILM/R&H’s rigging pipeline – it sounded stunning and at its heart was ‘modular’ rigging. That taking several key ‘rigging’ blocks one could build, iterate and change on the fly a rig. Modular ‘blocks’ of rigging setup would be linked through a simple text entry, for example:
modular rigging block hand would link to arm via ‘wrist’ and so on and so forth. It made me think about what the future holds for rigging. First of the current situation in rigging is majorily hindered in my opinion with the locked state of skeleton to rig. And so these two systems along with twist need to be abstracted – if iterating on a rig, that didnt change or break the skin was a simple as modularly switching different setups on the fly per scene/shot things would be a lot easier.
So what essentially is a rig – its a skeleton which is driven by a setup, and controlled by puppets. This skeleton is primarily a tool for skinning to, and also referencing animation, mocap, building other rigs off. If the skeleton was just a layer essentially that looks at a setup, itself built modularly on the fly, then itself could be changed, added to, even animated in FK off a setup.
Abstracting two systems is complex though, and made worse by the sheer amount of referencing that goes onto a rig, twist for example needs bones, transform, relative parents and nodes – so to tear a system like spine, arm twisting etc you’d need the essential nodes to make it work. So with this twist is a system unto itself, that needs a system in place – therefore its a final layer of setup after the primary rig’s been built ontop of a changed skeleton or a skeleton thats driven off a modular rig.
What is ‘modularity’ can it be broken down into systems? – Interms of rigging automation out there, systems still rely heavily on other systems existing, an arm system needs a shoulder/hand etc; a leg needs a foot but can this like ILMs tool be abstracted even further to pure body parts: spine/head/arm/leg/hand/foot I think it can. Whats needed for consistency with modularity that makes joining systems together work?
Well for one thing its puppets, without puppets to there respective ‘block’ the system doesnt work – take for example an arm. To build it you need a shoulder position (not the shoulder) an elbow position and a wrist position. Ontop you need the controls at the shoulder, wrist and hand – even if the wrist controller isnt controlling anything, it will do once it knows what to link to: hand. And because hand is now pointing to arm via wrist it just finds its respective controller – this could be as simple as just parenting it or typing in the ctrl it needs to link too.
Ontop of this modularity combinations of rig become far easier, like as the paper discussed building a centaur was a case of linking a horse lower torso to a human upper one. The system needs essentially three layers: skeleton > setup (with puppets)>twist (in theory the skeletons bones needed for twist could use this)
Issues arise with this approach too though, namely orientation of joints, can for instance an arm be attached to a neck? and if so how is its orientation, its initial setup posed? Can modularity co-exist with a skeleton do they both need to be present, can a modular rigging system only work on an already existing skeleton? to me a skeleton is a layer what the skin needs and also it bridges the gap between model and rig, most importantly with twist and stretching…