Simple Facial Rig

This is a cursory intro to a simple way of rigging a face. It relies on deforming parts of the face (no blendshapes). This puts most of the control on the animator, providing the most flexibility and simplicity. This isn't really a tutorial as much as a walkthrough, it presents a method for setting up a rig that you can extend to any character. Make sure to learn how to skin (it is integral to creating this type of rig).

You should have a neck/head joint already. In this case, the head joint is just a placeholder, it doesn't actually deform anything.

I'm going to start in side view for this. It doesn't really matter, but it helps keep joints centered left-to-right.

Also, make sure to have the Animation Menus active.

From here we'll add a jaw bone (you must add a joint to rotate on. If you use the head joint, everything will get messed up later). The jaw bone should be a child of the head joint.

TIP:Once you have activated the Joint Tool (Skeleton→Joint Tool), clicking on an existing joint will use that joint as a starting point instead of adding a new one.

For eyes, we want to have a joint in the middle of the eye. This way, when we rotate that joint, it will rotate the eye. This should also be a child of the head joint so it follows the head's movement.

In the figure, I added another joint from the center of the eye to the pupil. This is just for visualization, it will serve no other purpose.

We also want to have joints for the upper/lower eyelids. Add NEW joints for each lid at the CENTER of the eye. DO NOT USE THE EYE JOINT because if you do, when the eye rotates, so will the eyelids. We put these eyelid joints at the center of the eye so that we can just rotate them and the eyelids that are skinned to them will automatically follow the shape of the eye.

You can add any number of joints to the face. Parent them all to the Head joint. Even though bones will show up between the face joints and the Head joint, ignore them. They have no effect. We are using these additional joints like magnets to certain facial features. The pic has the following additional "magnet" joints: upper/lower lip, mouth corner, cheek, and 2 brow joints.

Now, if you leave side mode, you will see that all our joints are flattened. So we need to adjust them horizontally.

Its good to name your joints now if you haven't been. Make sure that you have a consistant method of specifying whether a joint is left or right (I use blabla_l and blabla_r for left/right). You'll find this useful when you mirror joints.

TIP: You can expand a whole tree in the outliner by holding Shift and left clicking on the [+] symbol

We only have joints for one side of the face. You can only do this for one chain at a time. Select the base of a chain that isn't in the middle (a good example would be the eye joint) and go to (Skeleton→Mirror Joint []). Verify your mirror axis, choose Behavior or Orientation (they do the same thing but behave differently if you want to reflect poses later) and choose your left/right replacement method (the one shown is if you used the convention I mentioned previously). Now mirror. Repeat for all the symmetric joints and you should have a face with all your joints where you more-or-less expect them to be.


Now comes skinning. Start with a smooth skin (Skin→Bind Skin→Smooth Bind). From here you can use the paint skin weights tool or some other method to assign skin weights (for faces, the default skinning is basically never going to work).

REALLY IMPORTANT: If you have a smooth proxy, make sure to skin the CAGE, not the smooth mesh. This will make life much easier both now and later.

NOTE: The jaw bone should only control the jaw/chin, NOT the lower lip. The lower lip will be taken care of by the lower lip joint. Later, you can choose whether to have the lower lip joint follow the jaw or not.

If your eyes are separate objects from your head (the example's are). You can select the eye joint and then the eye object and constrain its orientation (Constrain→Orient []). To make things work, choose the Orient's option-box and turn on "Maintaion Offset".

At this point, you should have joints to control different parts of the face. You should be able to:
  • rotate the eye joint to rotate the eye
  • rotate the eyelid joints to open/close the eyelids
  • rotate and open/close the mouth and jaw
  • move "magnet" joints around to raise/lower eyebrows, make smiles, etc. This depends on how many joints you added here

We could just animate with this, but its a little tedious. Especially for the eyebrows, jawbone, and eyes where you have to select a joint that is inside the character mesh. So, next we will put controllers on the face.

Go to Facial Controllers (under construction)