I’ve now made further progress in rigging the legs. For the limbs, I’m implementing an IK/FK setup. My approach for setting up the switch is a twist on the standard 3-bone setup where the original joint chain is duplicated and influenced by two separate chains.
A unique trick with my particular setup is how the base chain is driven: most IK/FK setups I’ve seen typically use constraints and the switch is handled via tweaking the target weights. What I do, is instead of using a constraint, a blendColors render node is used. How this works is that the rotations of the IK and FK joints are plugged into the blend node as two different “colors” that can be switched between using a blend attribute unique to the blendColors node. Not all IK/FK solutions are good for this approach, but when it works, I’ve found blendColors easier to deal with and somewhat faster to compute than constraints.
With the skeletons created, I did some tests to figure out the best IK solution for the leg (which I’ll dive deeper into in a later post), and did a full pass rigging the FK joints for all the legs. FK is a pretty straightforward scheme, but it also allows me to test if my joints are properly oriented before the rig gets too complex. Joint orientation is especially important for mechanical legs since the hinge joints are engineered for movement along a specific axis; if orientation is off, the joints would break off the hinges and look incorrect. A very handy script for orienting joints efficiently that I’ve been using for years is cometJointOrient.
With more of the skeleton completed, I built more of the proxy version of the dense scorpion mesh. Like the rest of the character, I needed to reduce the poly count to improve performance without sacrificing the scorpions silhouette. My process for proxy-ing the legs involved duplicating the original mesh and reducing the poly-count through merging, deleting, and collapsing any superfluous detail. Since the model is designed for smoothing, much of the polycount comes from the modeler’s use of “support-edges”. As such, I was able to make significant reductions without impacting the look of the scorpion too much.