Building A Complete Human Facial Rig in 3D Studio Max Part 3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 61

Building a Complete Human Facial Rig In 3D Studio Max, Part 3: Eye

Controls & Morphs by Soni Kumari


Tutorial DetailsProgram: 3D Studio MaxDifficulty: IntermediateEstimated Completion Time: 2hUpdated:
January 22, 2013
In the third and final part of this series, youll learn how to create the rigs eye controls and Morph Targets with
Custom Attributes. This is the final step in the rigs creation and will result in a professional facial setup capable of a
robust set of emotions and expressions for animation. Click through to complete the series!

Step 1
In the third and final part of the tutorial, we will learn how to create Eyes Controls and Morphs with custom attributes.
So to get started, click on Create>Shape>Circle and then drag a circle out in the viewport.

Step 2
Now jump into the Perspective view, and align and reposition the circle curve with the left eye ball as shown in the
image below.

Step 3
With the circle curve selected, press Ctrl+V to duplicate the circle curve for right eye ball. In the Clone Options box,
select the Copy radio button and then click on the OK button.

Step 4

With the newly duplicated circle curve selected, press Alt+A and then click on the right eye ball. This opens the Align
Selection settings box. Here turn off the Y Position as shown, and then click on the OK button.

Step 5
To be easily recognizable, you can change the color of the curves and then rename both of them to CtrlC_LeftEye01
and CtrlC_RightEye01.

Step 6
Now while in the front view, click on Create>Shape>Ellipse and draw an elliptical curve in the viewport.

Step 7

Now again jump into the Perspective view and then align and reposition the new Ellipse curve, as shown. Then click
on Utility>Reset XForm and click on Reset Selected.

Step 8
With the new ellipse curve selected, click on the Collapse button and then click on the Collapse Selected button inside
the Utility panel.

Step 9
Now, rename the ellipse curve as CtrlC_BothEye01. It will control both eyes, control left and right.

Step 10
Just like this, apply a Reset XForm and Collapse on both of the eye controls (this is quite necessary for controls.)

Step 11
Now, with all the eye controls selected, do a Right-click and then select the Freeze Transform command in the fly-out
menu. After this, we will now apply constraints and link all the eye controllers.

Step 12

So select the Left EyeBall mesh and then click on Animation>Constraints>Look At Constraint.

Step 13
With the LookAt Constraint selected, click on CtrlC_LeftEye01 to apply the LookAt Constraint.

Step 14
After applying the LookAt Constraint onto the eye ball mesh, youll notice the eye ball mesh has flipped and is showing
a straight wire.

Step 15
To rectify the flipping problem, click on Motion and inside the LookAt Constraint panel, turn on "Keep Initial Offset"
and turn off the "Viewline Length Absolute" option.

Step 16
Just like this, apply a LookAt Constraint to CtrlC_RightEye01 too, and then turn On "Keep Initial Offset" and turn off
the "Viewline Length Absolute"option like before.

Step 17

Now, with both the CtrlC_LeftEye01 and CtrlC_RightEye01 control curves selected, enable the Select And Link tool
and then drag and drop onto the CtrlC_BothEye01 control curve, to link them together.

Step 18
Now well lock the unwanted rotation and scale properties. So with CtrlC_LeftEye01 selected, Right-click on the
viewport and then choose Curve Editor in the fly-out menu.

Step 19
In the Track View Curve Editor window, select the X, Y and Z Rotation and Scale properties and then by Rightclicking, choose "Lock" in the fly-out menu.

Step 20

Do same thing with the CtrlC_RightEye01 control curve. In the Track View Curve Editor window, select the X, Y and
Z Rotation and Scale properties and then by Right-clicking, choose the "Lock" command in the fly-out menu.

Step 21
Now finally select the CtrlC_BothEye01 control curve, and this time Lock the Scale property only.

Step 22
Now, we will create a dynamic relationship link. So first open the Layer Manager and hide the Head mesh. Then with
all the newly created eye control curves selected, click on the ControlCurves layer and then click on the Add Selected
object (+) button.

Step 23
Hide the Extra Objects layer too (where we have kept all the point helpers,) because it will be easy to create new point
helpers for linking in a better way.

Step 24
Now, start creating new point helpers. So go to Create>Helper>Point and then click on the grid to create a new Point
Helper.

Step 25

With the newly created helper selected, press Alt+A and then click on the CtrlC_BothEye01 control curve for
alignment. It opens the Align Selection window. Here check on all X, Y and Z positions, and also all X,Y and Z Axes
under Align Orientation. Then click on the OK button.

Step 26
With the point helper selected, press Shift+A and then click on the Bn_Head01 bone to quickly alignment it with the
head bone, as shown in the image below.

Step 27
Now rename the point helper as PtTurns_Eye01.

Step 28

Make a duplicate of the PtTurns_Eye01 point helper by selecting it and pressing Ctrl+V (this opens the Clone Options
box.) In the Clone Options box, turn on the Copy radio button and then rename it as PtWorld_Eye01 and then click on
the OK button.

Step 29
For selecting and identifying the PtWorld_Eye01 helper easily, select it and keep its size at 12.0cm and re-color it as
you wish.

Step 30
Now, select the PtTurns_Eye01 point helper, enable the Select and Link tool and then drag and drop on the
Bn_Head01 bone, to link them.

Step 31

With the the PtWorld_Eye01 helper selected, enable the Select and Link tool and drag and drop on the CtrlC_Global01
control curve, to link them.

Step 32
With the CtrlC_BothEye01 control curve selected, click on the Group menu and select the Group command.

Step 33
It opens the Group window. Here rename the group to Grp_CtrlC_BothEye01 and then click on the OK button.

Step 34
With the CtrlC_BothEye01 control curve selected, click on the Group menu and select the Open command.

Step 35
After opening Grp_CtrlC_BothEye01, it will display a pink colored bounding box.

Step 36

Again, with the Grp_CtrlC_BothEye01 control curve selected, click on the Animation menu, then select Constraints
and then choose Orientation Constraint.

Step 37
Now click on the PtTurns_Eye01 point helper to apply the Orientation Constraint to the point helper.

Step 38
Now, with the PtTurns_Eye01 point helper selected, go to the Motion panel and first click on the Add Orientation
Target button, then click on the PtWorld_Eye01 helper.

Step 39
Now, with the Grp_CtrlC_BothEye01 control curve selected, click on the Hierarchy panel then click on the Affect
Pivot Only button.

Step 40
Now press Shift+A and 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 41

Again, with the Grp_CtrlC_BothEye01 control curve selected, go to Animation>Constraints and choose Position
Constraint.

Step 42
Then click on the PtTurns_Eye01 point helper to apply the Position Constraint.

Step 43
Now, with the PtTurns_Eye01 point helper selected, go to the Motion panel and first click on the Add Position Target
button and then click on the PtWorld_Eye01 helper.

Step 44
First select the Grp_CtrlC_BothEye01 control curve, then expand the modifier list and select the Attribute Holder
command.

Step 45
Now, with the Grp_CtrlC_BothEye01 control curve selected, click on the Animation menu and then click on
Parameter Editor to open the parameter editor window.

Step 46

In the Parameter Editor, select Float as Parameter Type and write the name as EyesFollow. After that, press the Add
button to add the new Attribute control.

Step 47
With the Grp_CtrlC_BothEye01 control curve selected, Right-click and then choose Wire Parameters in the fly-out
Menu.

Step 48
In the Wire Parameter fly out menu, first choose Modified Object>Attribute Holder>Custom Attributes and then
choose EyesFollow.

Step 49

After choosing EyesFollow, click on the Grp_CtrlC_BothEye01 control curve (it opens the fly-out menu again.) This
time select Transform>Position>Position Constraint and then click on Position Weight 0.

Step 50
After this the Parameter Wiring window opens. Select EyesFollow and Position Weight 0 and click on the left to right
control direction button, then click on the Connect button.

Step 51
Now, select EyesFollow : Bezier Float and Position Weight 1 and then click on the left to right control direction
button. After this, you also have to write an expression as abs(EyesFollow-100) and then finally click on the Connect
button.

Step 52
Again with the Grp_CtrlC_BothEye01 control curve selected, Right-click and then choose Wire Parameters in the
fly-out menu.

Step 53
Here choose Modified Object>Attribute Holder>Custom Attributes and then choose EyesFollow.

Step 54
After choosing EyesFollow, click on the Grp_CtrlC_BothEye01 control curve. It again opens the fly out menu, so this
time select Transform>Rotation>Orientation Constraint and then select Orientation Weight 0.

Step 55

After this the Parameter Wiring window appears. Here select EyesFollow Bezier Float and Orientation Weight 0 and
then click on the left to right control direction button, then click on the Connect button.

Step 56
Now, again select EyesFollow Bezier Float and Orientation Weight 1 and click on the left to right Control direction
button. After this you also have to write an expression as abs(EyesFollow-100) and then finally click on the Connect
button.

Step 57
Now, well start creating the facial expression controls. So jump into the Front view and go to Create>Shape>Circle
and then check on the Enable in Viewport option and keep the Thickness value at 1.5cm and finally drag a circular
shape out in the viewport as shown in the image below.

Step 58
With the newly created circle curve selected, do a Right-click and then choose the Convert To:>Convert to Editable
Spline option in the fly-out menu.

Step 59
Select the Segment component of the Editable Spline and then delete the lower half of the circle curve, as shown.

Step 60
Now jump into the Perspective view and select the Vertex component. Then modify the curve as shown in the image
or as you wish.

Step 61

Also rename the control to CtrlC_Face Expression to be identified properly.

Step 62
With the CtrlC_Face Expression curve selected, enable the Select and Link tool and drag and drop on the
CtrlC_Global01 control curve to link both of them.

Step 63
With the CtrlC_Face Expression curve selected, Right-click and then select Curve Editor in the fly-out menu.

Step 64
It opens the Track View Curve Editor Window. Here first select the X, Y and Z Position, Rotation and Scale
properties and then Right-click and choose the Lock command in the fly-out menu. In this control, we dont need any
transform properties to be controlled.

Step 65
Now well create morph targets. So, with the main head mesh selected, hold down the Shift key and move it a bit to
right. This opens the Clone Options box. Write the name of the duplicated object as Mrph_LeftEye_Blink and then
click the OK button.

Step 66
When you press the OK button, the duplicated face shifts its position with the main head mesh because of the Skin
modifier we have applied on it. So select the TurboSmooth and the Skin modifier and then click on the Remove
modifier from the stack button to delete them.

Step 67
After deleting the TurboSmooth and Skin modifiers, the duplicated head mesh comes back to the dragged position.

Step 68
Following the same process, I ve created all the morph targets and renamed them as follows: Mrph_LeftEye_Blink,
Mrph_RightEye_Blink, Mrph_Left_Smile, Mrph_Right_Smile, Mrph_Left_sad, Mrph_Right_sad, Mrph_Leftfrown_Up,
Mrph_Rightfrown_Up, Mrph_Surprise, Mrph_Angry and Mrph_Fear.

Step 69
Now we will deform all the morph objects one by one according to their names. For that we need to keep the mesh in
wireframe. So press F4 or Right-click on the Shaded+ Edged Faces viewport label and then choose Edged Faces.
Working in wireframe mode makes the selection and modification process easy.

Step 70
Now, lets work on the eye area of the Mrph_LeftEye_Blink mesh. While in Vertex component mode, select the
vertices as shown in the image. Then with the Use Soft Selection option turned On, keep the Falloff value at about
1.782cm. (Note* in your case the values may change.)

Step 71
Now, Scale down the selected vertices to close the eyelid. You can also use your own techniques for deformation, like
closing or opening the eyes as shown in the image below.

Step 72

Follow the same steps for the right side eye too.

Step 73
Now, lets work on the mouth area of the Mrph_Left_Smile mesh. Again while in Vertex component mode, select the
vertices as shown in the image. With the Use Soft Selection option turned On, keep the Falloff value at about 13.32cm.
Then drag the vertices upwards a little bit (it should look like a smile expression on the left side.)

Step 74
Now also deform the Mrph_Right_Smile mesh for the right side smile, in the same way.

Step 75

Now lets work on the mouth area of the Mrph_Left_Sad mesh. While in the Vertex component mode, select the left
side mouth vertices. Again with the Use Soft Selection option turned On, keep the Falloff value around 13.32cm. Then
drag the vertices downwards a little bit (it should look like a sad expression.)

Step 76
Now in the same way, also deform the Mrph_Right_sad mesh for the sad expression on the right side. Just like this,
continue creating the deformed morph targets for the desired expressions.

Step 77
After deforming all the morph targets, select them all and then click on the Layer Manager Button. Here click on the
Create New Layer (Containing Selected Objects) and also rename the layer as MorphMeshes. Then close the Layer
Manager window.

Step 78
Now with the main head mesh selected, click on the Modify panel and select the Morpher modifier from the list.

Step 79
When you apply the Morpher modifier, you will see some Empty spinners which will be used to pick the deformed
meshes as morph targets. So first click on the Capture Current State button, which opens the Name Capture Objects
box. Here type Mrph_FaceExpression and then click on the Accept button.

Step 80
Now for adding morph target objects, Right-click on an empty spinner and choose Pick from Scene, then click on the
Mrph_LeftEye_Blink mesh.

Step 81

Now you can see the Mrph_LeftEye_Blink mesh target is added to that empty spinner. Remember, you have to keep
the Morpher modifier underneath the Skin modifier in the modifier stack.

Step 82
Again, Right-click on another empty spinner, choose Pick from Scene and this time click on the
Mrph_RightEye_Blink mesh.

Step 83
In the same way, keep adding the rest of the morph target objects.

Step 84

After picking all target objects, open the Layer Manager and hide the MorphMeshes layer.

Step 85
Now with the CtrlC_Face Expression control curve selected, apply the Attribute Holder modifier.

Step 86
Then go to the Animation menu and click on Parameter Editor to open the parameter editor window.

Step 87
In the Parameter Editor, Set the Parameter Type to String and write the name FaceExpressions under UI Type. Then
press the Add button to add the new attribute control.

Step 88
Again in the Parameter Editor, select Float as the Parameter Type this time and write the name Left_EyeClose under UI
Type. Finally press the Add button to add the new attribute control.

Step 89

In the same way we have to create the rest of the custom attributes.

Step 90
Now with the CtrlC_Face Expression control curve selected, Right-click and then choose Wire Parameters in the flyout menu.

Step 91
It opens the Wire Parameter menu. Here choose Modified Object>Attribute Holder>Custom Attributes and then
choose Left_EyeClose.

Step 92
After choosing Left_EyeClose, click on the main face mesh. A fly out menu appears. This time select Modified
Object>Modified Object>Morpher and then select [2] Mrph_LeftEye_Blink.

Step 93
After this the Parameter Wiring window opens. Here select both Left_EyeClose and [2] Mrph_LeftEye_Blink and
click on the left to right Control direction button, and then click on the Connect button.

Step 94

Now, select Left_EyeClose and [3] Mrph_RightEye_Blink, and click on the left to right control direction arrow, and
then finally click on the Connect button.

Step 95
In the same way, we have to connect all the morph targets to custom attributes. At last select Fear and [12] Mrph_Fear
and click on the left to right control direction arrow, and then finally click on the Connect button.

Step 96
Finally we are done with the face rig controls, which will give us incredible facial expressions for creating good
animation. I hope you have liked this series!

You might also like