Independent Study: Bipedal Rig
When: October 2018 (2 weeks)
Role: Rigging, Python Scripting
This was an independent study aimed at familiarizing myself with an effective rigging workflow in Maya. The end goal of this study was to have a functional bi-pedal rig that adhered to several best-rigging-practices. I referred to an online tutorial and several other open-source resources for this study.


Above: Weight dance animation for the final rigged model.
I started out by laying down the joint skeleton, paying special attention to the joint orientations. A great amount of attention was given to following a naming convention for the joints. I used an open-source MEL script to automate renaming groups of joints.


Above: Joint Orientations and Controllers for the rig.
I ultimately had two skeletons for this rig. I duplicated the original skeleton to be contrained to joint controls. Each joint in the ‘Joint Control Skeleton’ (JNTskel) was constrained to it’s corresponding joint on the ‘Deformation Skeleton’ (DEFskel) with the use of a custom Python script I wrote. I bound DEFskel to the skin while all the controls were constrained to JNTskel. This gave me the freedom to make changes to the control structure without having to unbind the skin later on if the need ever arose. This dual-skeleton structure also allows for easier baking of animations later down the road by baking the animation to DEFskel and deleting the control structures bound to JNTskel before exporting the model to game engines.

I followed this with creating a spline IK handle for the spine, IK legs, FK/IK switchable arms, finger controls, eye-targeting and controls bound to JNTskel for all the handles and joints. I used the Connection Editor to add attributes to controllers for individual fingers on both hands allowing me to swith between different set poses.
Finally, I keyed the character in several extreme poses and weight painted it.

Notable Experiences:
  • Recorded entire process so I can learn from and iterate on the workflow.
  • Became considerably comfortable with writing Python scripts for Maya.
  • Became significantly experienced with Maya’s ‘Connection Editor’ menu, ‘Set Driven Key’ menu, IK handles and constraints.
  • Discovered the plethora of online open-source MEL and Python scripts for Python to study, use and augment.
  • Realized I needed more knowledge and know-how of weight painting for more natural deformations.