In this free Maya rigging tutorial, Jahirul Amin will focus on creating the rig for the neck and the head. Plus! Free video tutorial included!
A Maya directory (3dt_rigging) has been supplied containing all scene files and scripts used in this project. Download your free resources
to follow along.
Following on from the torso, this time we will create the rig for the neck and the head. The cervical region of a real spine (the neck bones) are made up 7 vertebrae, and like we did with the lumbar and thoracic regions, we will simplify this in CG to make it more manageable for the animator. I like to give the animator 2 controls for the neck: one at the base of the neck and one between the base and the atlas bone, which is where the spine meets the cranium. This usually allows for enough flexibility, but again, feel free to experiment; nothing is set in stone here, so if you want more or even less control, then make the required changes.
Moving on from the neck, we will add the head, jaw and eye joints and controls. The head and jaw, like the neck, will be FK based but we will also add some space-switching flexibility into the rig. Space-switching allows the animator to decide which part of the body part a particular region should follow. For example, should the head orient with the neck, the torso or none at all? By adding space-switching into the rig, we can create some very interesting and sometimes creepy results. When we add this feature to the eyes, you'll see what I mean!
Before we crack on, just a quick note that I forgot to mention last time. Currently we are setting rotate X to drive flexion/extension for all the joints. This will cause the length of the joints to be determined by the translate Y attribute, not the translate X. This is no problem but I thought I would just make you aware.
So, let's pop some joints into place.
Creating the neck, head and jaw joints
In the side view, go Skeleton > Joint Tool. We are going to snap the start of the neck joint chain to the end of our spine chain. To do this, hold down the V key on the keyboard (point snapping) and click close to the end of the spine joint but not on it. Once you have the first joint in place, let go of the V key and create a joint in the middle of the neck and then at the base of the head. Still in the tool, hold down the Shift key and create a final joint at the tip of the head. Rename these joints from root to tip as follows: neckA_jnt, neckB_jnt, head_jnt and headEnd_jnt. Now we need to orient the joints so positive X rotation creates flexion. To do this, select neckA_jnt and go Skeleton > Orient Joint Tool (Options). Set the Primary Axis to Y, the Secondary Axis to X and the Secondary Axis World Orientation to X. Hit apply and then test out the results.
Now cometh the jaw joint. Back in the side view, create a 3-joint jaw chain starting from just in front and below the ear, then at the corner of the jaw and finally at the chin. We could create a 2-joint chain going from the ear region to the chin. I just pop the extra joint in as I like it to visually resemble a real jaw. Rename the joints: jawA_Jnt, jawB_jnt and jawEnd_jnt. Select jawA_jnt and go Skeleton > Orient Joint Tool using the same settings as before. Lastly, parent jawA_jnt under head_jnt.
Next come the eye joints. Currently, the geometry of the eyeballs is slightly off center. To make it easier to set up the eye controls, I decided to straighten them up by rotating the geometry in the Y-axis. Then, with the eyeball geometry selected, go Modify > Freeze Transforms. Now create a polygon sphere and translate, rotate and scale the sphere to sit on top the original eye geometry. This can act as our proxy geometry and will also be helpful when placing the joints. Rename the newly created sphere l_eyeball_proxy. Open up the Attribute Editor and in the left-most tab, go Display and turn on Display Handle. We can now use the display handle to snap from the center of the sphere outwards. So activate the Joint Tool, hold down the V key (to enable point snapping) and create a joint from the center of the eyeball geometry ending at the front tip of the eye. Rename the joint l_eye_jnt and l_eyeEnd_jnt. Duplicate l_eyeball_proxy and l_eye_jnt and then pop a minus in front of the value in the Translate X channel. This will create the right side. Rename the geometry and joints r_ instead of l_. Select both l_eye_jnt and r-eye jnt and go Skeleton > Orient Joint Tool (Options), turn on Orient Joint to World and hit Apply (I do this later on in the video, during step 4). Lastly, parent l_eye_jnt and r_eye_jnt under head_jnt.
Creating the joints for the neck, head, jaw and eyes
Creating the low-res mesh
We now need to chop up the mesh and parent it to the relevant joints. I won't go into detail here, as it is the same process I employed to create the low-res mesh for the torso. But I will mention that I deleted the inner cavity of the eyes and the mouth to keep things slightly lighter on the rig. Make sure to also rename the chopped up geometry using the same naming convention that we used for the torso geometry. You can also parent a couple of spheres under each eye joint and again, make sure to rename them appropriately.
Chopping up the model and parenting it under the relevant joint