Advertisement

Building a Complete Human Facial Rig In 3D Studio Max, Part 1: Bone Setup & Controls

by
What You'll Be Creating

Today we're launching the next chapter in our epic series of character rigging tutorials for 3ds Max and Maya from author Soni Kumari. The series has so far covered everything you need to know about rigging complete characters in Maya with two fantastic, in-depth tutorials Complete Character Rig In Maya & Complete Facial Rig In Maya. And now we're completing the series for 3D Studio Max.

Building an animation ready facial rig can be one of the most challenging, time consuming aspects of character creation. But fear not! This series will walk you through the entire process from start to finish and give you a detailed, in-depth lesson on what it takes to build an intuitive, animation friendly facial rig from scratch using 3ds Max's built in tools.

This tutorial is a companion piece to our previous premium series Complete Human Character Rig In 3D Studio Max, so it's recommended that you complete that series first.


Also available in this series:

  1. Building a Complete Human Facial Rig In 3D Studio Max, Part 1: Bone Setup & Controls
  2. Building a Complete Human Facial Rig In 3D Studio Max, Part 2: Custom Attributes & Skinning
  3. Building a Complete Human Facial Rig In 3D Studio Max, Part 3: Eye Controls & Morphs

Step 1

In this 1st part of the tutorial, we will learn how to create bones and their controls inside the face mesh. Let’s start 3ds Max and open the Old Man Face Start.max file which is provided with this tutorial.



Step 2

Now, we'll start creating the rig for the face. So, with the face mesh selected, go to the Modify panel and turn Off the Use NURMS Subdivision option.



Step 3

With the face mesh selected, go to the Utility panel, click on the Reset XForm button and then click on the Reset Selected button. After that turn off the Reset XForm button.



Step 4

We’ll do the same in the Utility panel. With the face mesh selected, first click on the Collapse button and then click on the Collapse Selected button to collapse the mesh. After this, turn Off the Collapse button.



Step 5

Before we move ahead, we have to arrange the objects in layers. So click on the Layer Manager to open the Layer Manager window.



Step 6

So with the face mesh selected, click on the Create New Layer button and then Rename it as Head Mesh. In this way the face mesh is added into the Head Mesh layer.



Step 7

Click on the Create New Layer button three more times, and then Rename the layers as: Eyes, Tongue and Tooth.



Step 8

Now we will add the particular objects into their respective layers. So with the Eyes layer selected in the Layer Manager window, select both eyes balls in the viewport and then click on the Add Selected Object button which is denoted by (+) sign. Now the eye balls have been added to the Eyes layer.


Just like this, select the Tongue layer, then select the tongue mesh in the viewport and then click on the Add Selected Object (+) button.


Again do the same thing for teeth. Select the Tooth layer and then select both the upper and lower tooth meshes, then click on the Add Selected Object (+) button in the Layer Manager Window.



Step 9

Now, select the face mesh, do a Right-click and choose Object Properties to open the object properties window.



Step 10

In the object properties window, turn on the See-Through option and then press the OK button.



Step 11

As you can see the face mesh has become semi transparent. Now we will freeze all the other objects. So, in the Layer Manager window, click on the Freeze buttons of all layers to freeze all objects. Then close the Layer Manager window.



Step 12

Now, we'll start creating joints for the face and neck. So jump into the side view and click on the Animation menu and then choose Bone Tools.



Step 13

This opens the Bone Tools window. Click on the Create Bones button inside the Bone Tools tab.



Step 14

Now, start creating bones from the bottom of the neck to the top of the head area, and at last right click to finish creating the bones. Here we need two bones for the neck and head.



Step 15

With the Bone Tool selected again, create one more bone for the Jaw as shown in the image below. Now turn off Create Bones to stop bone creation and also minimize the Bone Tools window.



Step 16

Now Rename all created bones as: Bn_Neck01, Bn_Head01, Be_Head01, Bn_Jaw01 and Be_Jaw01.



Step 17

Now, again click on the Layer Manager to open the Layer Manager Window. Create two more new layers and Rename these as Bones and Extra Objects. Now with all the bones selected, add them into the Bones layer.



Step 18

Now, select the Head Mesh layer and click on the Hide button to hide the face mesh.



Step 19

Now we'll create control curves. So, go to the Create panel and select Shape mode, click on Circle and draw a circle curve on the grid.



Step 20

With the circle curve selected, go to the Modify panel and turn on the Enable in Viewport option. You will see the circle curve becomes thicker.



Step 21

Now, again with the circle curve selected, press Shift+A and then click on the Bn_Neck01 bone to quick align the circle curve.



Step 22

With the circle curve still selected, go to the Utility panel and then click on the Reset XForm button, and further click on the Reset Selected button. Finally turn off the Reset XForm button.



Step 23

We’ll do the same in the Utility panel. With the circle curve selected, first click on the Collapse button and then click on the Collapse Selected button to collapse the mesh. After that turn off the Collapse button



Step 24

With the circle curve selected, Alt+Right-click in the viewport and then in the fly-out menu, select the Freeze Transform option to freeze the curve.



Step 25

Also Rename the circle curve as: CtrlC_Global01.



Step 26

Now, select the Bn_Neck01 bone, then click on the Select and Link tool and drag holding the left mouse button onto CtrlC_Global01. This way the CtrlC_Global01 becomes the parent of the Bn_Neck01 bone.



Step 27

Now, jump into the left view and with the help of the Line and Snap tools, draw an arrow curve on the grid.



Step 28

After creating the arrow shape, Scale it down using the Scale tool and place it near the CtrlC_Global01 as shown in the image below.



Step 29

Select the arrow curve shape and make a Copy of it (Edit > Copy) and rotate it 90 degree in the Y direction. Then click on the Attach button in the Modify panel and then click on the cloned arrow curve to attach them together.



Step 30

With the arrow curve shape selected, Alt+Right-click in the viewport and select the Freeze Transform option to freeze the curve shape. Also Rename the arrow curve shape as CtrlC_Neck01.



Step 31

Now with the CtrlC_Neck01 selected, first click on the Hierarchy panel and then click on the Affect Pivot Only button. Then while pressing Shift+A, click on the Bn_Neck01 bone to quick align the pivot point of CtrlC_Neck01 to the neck bone. Finally turn off the Affect Pivot Only button.



Step 32

After doing this, you'll see the pivot point of CtrlC_Neck01 is now placed with the neck bone’s pivot point.



Step 33

Now we’ll create helpers. So first click on the Create panel, then click on the Helper sub panel and then select Point. Keeping the size value at 10.0cm click on the grid to create the point helper.



Step 34

With the point helper selected, press Alt+A and then click on the Bn_Neck01 bone for quick alignment.



Step 35

This opens the Align Selection window. In the settings box, turn on all X, Y and Z positions and also turn on all X, Y and Z axes, then click on the OK button.



Step 36

With the Bn_Neck01 bone selected, go to Animation > Constraints and select the Orientation Constraint.



Step 37

With the Orientation Constraint selected, click on the point helper to apply the Orientation Constraint to the Bn_Neck01 bone.



Step 38

With the point helper selected, first click on the Select and Link tool and then drag and drop onto CtrlC_Neck01.



Step 39

Just like this, with the CtrlC_Neck01 selected, first click on the Select and Link tool and then drag and drop onto CtrlC_Global01.



Step 40

Select the Bn_Jaw01 bone also and with the Select and Link tool enabled, drag and link it with the Bn_Head01 bone.



Step 41

Now, jump into the left view and with the help of the Circle tool, draw a Circle curve on the grid.



Step 42

Make a Clone of the circle curve, rotate it and place them together as shown in the image below. You can make the control’s shape any way you wish.



Step 43

Now, with both curves selected, go to the Utility panel, click on the Reset XForm button and then click on the Reset Selected button. After that, turn off the Reset XForm button.



Step 44

We’ll do same in the Utility panel. With the circle curves selected, first click on the Collapse button and then click on the Collapse Selected button to collapse the mesh. After this turn off the Collapse button.



Step 45

Now, with the circle curve shape selected, press Shift+A and then click on the Be_Head01 bone to align it.



Step 46

Now, Rename the curve as: Ctrl_Head01.



Step 47

Now, with the Ctrl_Head01 selected, click on the Hierarchy panel. Here click on the Affect Pivot Only button and then while pressing Shift+A, click on the Bn_Head01 bone to quick align the pivot point to the neck bone. Then turn off the Affect Pivot Only button.



Step 48

With Ctrl_Head01 selected, do an Alt+Right-click in the viewport and then click on the Freeze Transform option to freeze the Ctrl_Head01.



Step 49

With Ctrl_Head01 selected, first click on the Select and Link tool and then drag and drop onto the CtrlC_Global01 control curve for linking.



Step 50

Now we’ll create some more helpers. So first click on the Create panel, then click on the Helper sub panel and then select Point. Keeping the size value at 10.0cm click on the grid to create the point helper.



Step 51

With the newly created point helper selected, press Alt+A and then click on the Bn_Head01 bone.



Step 52

This opens the Align Selection settings box. In the settings box, turn on all X, Y and Z positions and all X, Y and Z axes and then click on the OK button.



Step 53

Now, with the Bn_Head01 bone selected, go to Animation > Constraints and then choose Orientation Constraint.



Step 54

With Orientation Constraint selected, click on the point helper to apply the Orientation Constraint.



Step 55

With the point helper selected, enable the Select and Link tool and then drag and drop onto the Ctrl_Head01 control curve to link the point helper with the control curve.



Step 56

Select the point helper and rename it as: Ptctrl_Head01.



Step 57

Now, we’ll create dynamic linking with the head and neck control. So with Ctrl_Head01 selected, click on the Group menu and then choose Group.



Step 58

When you choose the Group command, it asks for the Group name. So give it the name: grpCtrlC_head01 and then press the OK button.



Step 59

Again with the Ctrl_Head01 selected, click on Group and then choose the Open command to open the created group.



Step 60

You will notice a pink bounding box is displayed around Ctrl_Head01. So with grpCtrlC_head01 selected, open the Layer manager window and choose the Extra Objects layer and then add the selected grpCtrlC_head01 to the layer.



Step 61

With grpCtrlC_head01 selected once again, click on the Hierarchy panel and then click on the Affect Pivot Only button. And with Shift+A pressed, click on the Bn_Head01 bone.



Step 62

Here you will notice that the pivot point of grpCtrlC_head01 is now placed on the head bone. After that, turn off the Affect Pivot Only button.



Step 63

Now let’s create one more helper. So first click on the Create panel, then click on the Helper sub panel and then select Point. Keeping the size value at 7.0cm click on the grid to create the point helper.



Step 64

Select the newly created point helper, press Alt+A (for align) and then click on grpCtrlC_head01.



Step 65

The Align Selection settings box opens. In the settings box, turn on all X, Y and Z positions with all X, Y and Z axes as well and then click on the OK button.



Step 66

Now rename this point helper to: PtTurns_Headgrp01 and also change its color so it can be identified easily.



Step 67

Now, with PtTurns_Headgrp01 selected, press Ctrl+V to open the Clone Options box. Here choose the Copy option and rename it as: PtWorld_Headgrp01 and then press the OK button.



Step 68

Now with the PtWorld_Headgrp01 helper selected, click on the Modify panel and change its color to anything you wish. Then reduce the helper Size value to 5.0cm.



Step 69

Now with PtTurns_Headgrp01 selected, first click on the Select and Link tool and then link it with the Bn_Neck01 bone.



Step 70

Now with the PtWorld_Headgrp01 selected, first enable the Select and Link tool and then link it with the CtrlC_Global01 control curve.



Step 71

Now with grpCtrlC_head01 selected, go to Animation > Constraints and then Position Constraint.



Step 72

With Position Constraint selected, click on PtTurns_Headgrp01 to apply the position constraint onto it.



Step 73

Now with grpCtrlC_head01 selected, go to Animation > Constraints and this time choose Orientation Constraint.



Step 74

With Orientation Constraint enabled, click on PtTurns_Headgrp01 to apply the orientation constraint onto it.



Step 75

Now, select grpCtrlC_head01 and then inside the Motion panel, click on the Add Orientation Target button and then click on PtWorld_Headgrp01.



Step 76

Now, you can see that both PtTurns_Headgrp01 and PtWorld_Headgrp01 are added into the list as the orientation targets.



Step 77

In the Motion panel - Orientation Constraint options group, select PtWorld_Headgrp01 and keep its Weight value at 0.0.



Step 78

Now for checking purposes, select CtrlC_Neck01 and then Rotate it. You’ll see here that all the bones follow the neck control. Once you are satisfied, do an undo or use the Transform to Zero command to reset the position of the control.



Step 79

Now, let’s check for world rotation. First select PtWorld_Headgrp01 and then put a value of 100 in the Weight value box.



Step 80

Then select PtTurns_Headgrp01 and fill its Weight value as 0.



Step 81

Now select CtrlC_Neck01 and Rotate it. You’ll see, this time it rotates with an offset along CtrlC_Neck01.



Step 82

Now reset the moves. With CtrlC_Neck01 selected, press Alt+Right-click and then choose the Transform to Zero command to reset.



Step 83

Now open the Layer Manager window and select all the point helpers, then with the Extra Objects layer selected, click on the Add Selected Objects button to add all of them to that layer.



In the next part of the tutorial, we'll learn how to create Custom Attributes, Jaw controls and apply skinning to the face.