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

Embed Size (px)

DESCRIPTION

3d Studio, 3d

Citation preview

  • Building a Complete Human Facial Rig In 3D Studio Max, Part 3: EyeControls & 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 withCustom Attributes. This is the final step in the rigs creation and will result in a professional facial setup capable of arobust 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 theimage 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 AlignSelection 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_LeftEye01and 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 clickon 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 insidethe 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-outmenu. 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 showinga 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 offthe "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 tooland 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 theviewport 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 Right-clicking, 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 andZ 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 withall the newly created eye control curves selected, click on the ControlCurves layer and then click on the Add Selectedobject (+) 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 pointhelpers 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 PointHelper.

    Step 25

  • With the newly created helper selected, press Alt+A and then click on the CtrlC_BothEye01 control curve foralignment. It opens the Align Selection window. Here check on all X, Y and Z positions, and also all X,Y and Z Axesunder 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 thehead 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 Optionsbox.) In the Clone Options box, turn on the Copy radio button and then rename it as PtWorld_Eye01 and then click onthe 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 asyou wish.

  • Step 30

    Now, select the PtTurns_Eye01 point helper, enable the Select and Link tool and then drag and drop on theBn_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_Global01control 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 Constraintsand 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 OrientationTarget 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 AffectPivot 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 theAffect Pivot Only button.

    Step 41

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

    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 Targetbutton 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 Holdercommand.

  • Step 45

    Now, with the Grp_CtrlC_BothEye01 control curve selected, click on the Animation menu and then click onParameter 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 Addbutton 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-outMenu.

  • Step 48

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

    Step 49

  • After choosing EyesFollow, click on the Grp_CtrlC_BothEye01 control curve (it opens the fly-out menu again.) Thistime 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 rightcontrol 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 directionbutton. After this, you also have to write an expression as abs(EyesFollow-100) and then finally click on the Connectbutton.

  • Step 52

    Again with the Grp_CtrlC_BothEye01 control curve selected, Right-click and then choose Wire Parameters in thefly-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 thistime 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 andthen 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 directionbutton. After this you also have to write an expression as abs(EyesFollow-100) and then finally click on the Connectbutton.

  • Step 57

    Now, well start creating the facial expression controls. So jump into the Front view and go to Create>Shape>Circleand then check on the Enable in Viewport option and keep the Thickness value at 1.5cm and finally drag a circularshape 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 EditableSpline 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 imageor 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 theCtrlC_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 Scaleproperties and then Right-click and choose the Lock command in the fly-out menu. In this control, we dont need anytransform 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 toright. This opens the Clone Options box. Write the name of the duplicated object as Mrph_LeftEye_Blink and thenclick 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 Skinmodifier we have applied on it. So select the TurboSmooth and the Skin modifier and then click on the Removemodifier 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 inwireframe. 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 thevertices as shown in the image. Then with the Use Soft Selection option turned On, keep the Falloff value at about1.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, likeclosing 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 thevertices 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 leftside mouth vertices. Again with the Use Soft Selection option turned On, keep the Falloff value around 13.32cm. Thendrag 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 theCreate New Layer (Containing Selected Objects) and also rename the layer as MorphMeshes. Then close the LayerManager 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 deformedmeshes as morph targets. So first click on the Capture Current State button, which opens the Name Capture Objectsbox. 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 theMrph_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 keepthe 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 theMrph_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. Thenpress 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 UIType. 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 fly-out menu.

  • Step 91

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

    Step 92

    After choosing Left_EyeClose, click on the main face mesh. A fly out menu appears. This time select ModifiedObject>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 andclick 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, andthen 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_Fearand 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 goodanimation. I hope you have liked this series!

    Local DiskT:\Building a Complete Human Facial Rig In 3D Studio Max, Part 3 Eye Controls & Morphs Tuts+ Premium.htm