When I was first learning to create character rigs in Maya way back in 2002 while working on the Playstation 2 title Superman: Shadow of Apokolips, I remember that they weren't the most efficient rigs and Set Driven Keys (SDKs) were used for nearly everything. The hands were driven by them and so were the facial expressions, in fact nearly every control had some sort of SDK involved. Don't get me wrong, the Set Driven Key is a powerful tool in Maya, but you might have to plough through a load ofMaya tutorials to figure it out, it can be time-consuming to set up, and is easy to break and a pain to fix. Plus, your scene size can end up bloated by animation curve data.
Over the past few years I have been experimenting with another approach, but this time for more high-end rigs as opposed to game ones. One which is more efficient and in most cases easier and much quicker to implement into a rig. Although it was created in Maya 2016, the process should work in previous versions, and give you the basics of rig creation.
In this tutorial I will be taking you through the steps of rigging a character's face, but rather than focusing on the more basic areas like joint placement and weight painting, we will be looking at an often overlooked aspect of Maya… the utility nodes.
The word nodes can seem like an intimidating one and be associated with highly complicated rigs involving locators, splines and other complex systems, but don't worry. With this setup you will be using a combination of blendshapes, joints and nodes to make a highly flexible character capable of a wide range of emotions.
Once you have followed this process you can then adapt this rig for another character, adding more controls tosimplify animation and make it easier to create3D art. There's also a video to accompany this tutorial.
Find all the assets you'll needhere.01. Mesh topology
Make sure your edge loops follow muscle lines
Before you start to build your rig you need to do some investigation work. The model you are rigging and its topology are critical to how well the character will move, especially if, like in this instance, you are focusing on the face. It's important that the topology is not only clean but that the edge loops follow natural muscle lines. If they do the face will deform ina much more realistic way.02. Foundation shapes
Create your first batch of blendshapes
Once you are happy with the topology it's time to start creating your first batch of blendshapes and doing this now will also highlight any trouble areas with the mesh early on. These blendshapes are full facial poses covering all the main expressions needed, but sectioned into key areas like the mouth and eyes. We are looking for the fundamental shapes here like a smile, frown and so on, as well asthe upper and lower eyelids fully closed.03. Additional shapes
Remember to add blendshapes for both wide and narrow mouths
With this rig you are going to rely on eight main controls to manipulate the lips so it's important to also add blendshapes for a wide mouth as well as a narrow one which could also double as the pucker. This is so manipulating a single control can essentially pull around the corner of the mouth to achieve a wide number of expressions and move between all four blendshapes at once.04. Split the blendShapes
Split your shapes into left and right sides
With the main shapes created it's time to move to phase two. What you need to do next is split them into left and right sides meaning you can pose them independently. A quick way to do this is to create a blendshape node and then edit its weights, as illustrated in the box on the left. This will limit its influence to just one side of the model meaning you can then duplicate it and keep this copy to create your specific side.05. Build the skeleton
Next up, build your skeleton
The next stage in the facial rig is to build your skeleton and as mentioned earlier, for this setup we are going to be using both joints and blendshapes to pose the characters features. I like to use blendshapes as they can give you more precise shapes, but then the joints can help to push and pull areas of the face around to give you more flexibility.06. Controls or a UI?
Whether you use controls or a separate UI is up to you
Whether you create controls which float in front of the character's face or use a separate user interface is up to you, or more likely up to the animators who will be using your rig. Now it's time to start creating these controls and for this tutorial we will be using a combination of the two. A main UI will be used to control the majority of the blendshapes, but a series of controls will also help to manipulate the rig in places where it needs to move in all three axes.07. Use direct connections
Avoid scenes like this by using direct connections
When using a separate UI as we are, you have to approach the rig differently. Traditionally you could use Constraints to tie a specific joint to its master control and in turn this control would naturally follow the head. With a UI, the controls are static and don't follow the head so using Constraints will lock the joints to the controls meaning if you move the head the joints stay where they are. A way around this is touse direct connections instead of constraints.08. Driver locators
Direct connections have their own issues you'll need to work around
But using direct connections via the Connection Editor will force the translations, rotations and scale attributes to match those of the controls. Your joints inherently have translation values applied which will end up changed when connected. You could work on an offset system or you could create a locator in the place of each joint, freeze its transforms and then Parent Constraint the joint to the locator. So the locator, now with zero attributes, will drive the joint.09. Connect the locators
Use the Connection Editor to hook up controls to the locators
With the locators now in place and the joints parent constrained to them, you can connect the controls from the UI's attributes to the locators using the Connection Editor. If the locators are also parented to the head control they will follow its movement regardless of where the UI controls are. Also, the joints will now move relative to the head's position and not be locked to the UI meaning you can also place the UI anywhere in the scene.10. The condition node
A condition node, yesterday It's time to start connecting the blendshapes and introduce the first utility node, which will be the Condition node. T