Preview

1. Linking the Head Control
Step 1
Open Maya. Open the file which was saved in the last part of the tutorial.

Step 2
Select Head_Control01 followed by Head_jnt01 and then go to the Constrain > Orient constraint command.

Step 3
Select Head_Control01 followed by Back_Control01 and then press the P key to parent them.

Step 4
Select
L_Clavicle_control01 and R_Clavicle_control01 followed by Chest_Control01 and then press the P key, as shown in the following image.

Step 5
Select L_FK_Arm_control01 and R_FK_Arm_control01 followed by L_FK_Wrist_control01 and then set the value of the IKFK Switch attribute to 1 to switch it in FK mode.

Step 6
Select L_FK_Arm_control01 and R_FK_Arm_control01 followed by Chest_Control01 and then press the P key.

2. Creating the Head Control Attributes
Step 1
With Head_Control01 selected, go to Modify > Add Attributes to open the Add Attributes window.

Step 2
In the Add Attributes window, write Mouth Controls in the Log name box and turn on the Displayable radio button. Click on the Add button.

Step 3
With the same Head_Control01 selected, write MouthX in the Long name box and turn on the Keyable radio button. Click on the Add button.

Step 4
Following the same process, create the MouthY and MouthZ custom attributes also, as shown in the following image.

3. Connecting With Attributes and Jaw Joints
Step 1
With
Head_Control01 selected, go to Window > General Editor > Connection
Editor to open the Connection Editor window.

Step 2
In the Connection Editor window, the left side Head_Control01 attributes are already loaded. Hence, you need to load the right side’s jaw joint attributes.

Step 3
With Jaw_jnt01 selected, click on Reload Right to load the right side’s jaw joint's attributes, as shown in the following image.

Step 4
Scroll down the left side’s Head_Control01 attributes for MouthX. With the MouthX attribute selected, select rotateX in the right side’s Jaw_jnt01 attribute.

Step 5
In this way, you have connected MouthY to rotateY and MouthZ to rotateZ as shown in the following image.

Step 6
You can test the created controls for deformation of the mesh, but you can see the mesh is not deforming properly. So you need to maintain the skin weights accordingly.

4. Maintaining the Skin Weights
Step 1
Go to Skin > Edit Smooth Skin > Paint Skin Weight Tool and click on its option box to open the Paint Skin Weight Tool Settings window.

Step 2
In the Paint Skin Weight Tool Settings window, select Jaw_jnt01 under the Influences hierarchy. You can see the mesh turns black and white.

Step 3
In the Paint Skin Weight Tool Settings window, select Jaw_jnt01 under the Influences hierarchy and check on the Paint operation Replace radio button. Set the Value to 0 and then drag the paint brush onto the upper lip mesh to reduce the weights as shown in the following image.

Step 4
In the same way, select the JawTip_jnt01 joint and then paint with the paint brush onto the upper lip mesh to reduce the weights, as shown in the following image.

Step 5
Following the same procedure, select the JawTip_jnt01 joint and then paint with the paint brush onto the upper lip mesh to reduce the weights, as shown in the following image.

Step 6
With Jaw_jnt01 selected, turn on the Smooth radio button and then click on Flood to smooth the weight values, as shown in the following image.

Step 7
With Head_Control01 selected, put some random numerical values in the MouthZ custom attribute to check the opening and closing limitations of the mouth. This is perfect, as shown in the following image.

Step 8
In the Paint Skin Weight Tool Settings window, select Head_jnt01 under the Influences hierarchy and check on the Paint operation Replace radio button. Set the Value to 0.44 and then paint with the paint brush on the upper lip mesh to reduce the weights, as shown in the following image.

Step 9
In this way, you have balanced the skin weights for the mouth opening and closing. Following the same procedure, you can add more details to the advanced facial expressions.

5. Creating Eye Controls
Step 1
Create a circle curve in the front view port, as shown in the following image.

Step 2
Jump in the vertex selection mode and reshape the circle as shown in the following image.

Step 3
Create one more circle curve in the front view and place it on the right side of the eye shape, as shown in the following image.

Step 4
Make a duplicate copy of the right side eye curve circle and place it on the left side eye shape, as shown in the following image.

Step 5
Rename the controls as R_EyeBall_Control, Both_EyeBall_Control, and L_EyeBall_Control. Select R_EyeBall_Control and L_EyeBall_Control followed by Both_EyeBall_Control and then press P for parent, as shown in the following image.

Step 6
With R_EyeBall_Control, Both_EyeBall_Control and L_EyeBall_Control selected, go to Edit > Delete by Type > History to delete the history.

Step 7
With R_EyeBall_Control, Both_EyeBall_Control and L_EyeBall_Control selected, go to Modify > Freeze Transformations to set the transformation values to 0.

6. Applying Aim Constraint
Step 1
Select R_EyeBall_Control followed by the right eyeball mesh, and then go to Constrain > Aim and click on the option box.

Step 2
In the Aim Constraint Options window, turn on the Maintain offset check box and then click on Add to apply the command.

Step 3
Next, select L_EyeBall_Control followed by the left eyeball mesh, and then go to Constrain > Aim constraint.

Step 4
You can test the effect of the aim constraint on the eyeballs. Move the eye control randomly and you will see the eyes are following the movement of the eye control.

Step 5
You need to link the head with the eye control also. Select Both_EyeBall_Control followed by Head_Control01 and then go to Constrain > Parent and click on the option box.

Step 6
In the Parent Constraint Options window, check on the Maintain offset option and then click on the Add button to apply the parent constrain command.

7. Creating Global Control
Step 1
Create a circle curve in the top view as shown in the following image.

Step 2
Rename
the circle curve as Global_Control.

Step 3
Now you need to link all joints, IKs and control curves with the Global_Control. So go to the Window > Outliner command.

Step 4
Next, go to Show > None on the panel view menu bar to hide all elements in the view port.

Step 5
Now, in the Outliner window, select all controls but the Global_Control as shown in the following image.

Step 6
With all control curves selected, go to Edit > Group command to make a group of all selected controls.

Step 7
In the outliner window, rename the group as All_Control_Curves_GRP.

Step 8
On the panel view menu bar, go to Show > Joints and check on the option box to display only joints in the view port.

Step 9
With Root_jnt01 selected, go to Edit > Group. Alternatively, you can press Control-G.

Step 10
In the outliner window, rename the group as All_Joints_GRP, as shown in the following image.

Step 11
Next, hide all elements except the IKs. Select all IKs and make a group. Rename the group as All_IKs_GRP in the outliner window.

Step 12
On the panel view menu bar, go to Show > All to unhide all elements in the view port as shown in the following image.

Step 13
Select L_Index_jnt03, L_Index_jnt02 and L_Index_jnt01 followed by Load Driven in the Set Driven Key window.

Step 14
In the outliner window, select Global_Control followed by All_Control_Curves_GRP and then go to Constrain > Parent and click on its option box.

Step 15
In the Parent Constraint Options settings window, turn on the Maintain offset check box and then click on Add to apply the parent constraint.

Step 16
In the outliner window, select Global_Control followed by All_Joints_GRP and then go to the Constrain > Scale constrain command.

Step 17
In the outliner window, select Global_Control followed by All_IKs_GRP and then go to the Constrain > Scale constrain command.

Step 18
In the outliner window, again select Global_Control followed by All_IKs_GRP and then go to the Constrain > parent constrain command.

Step 19
In this way, you have created global control and also finished the complete rigging of the Hulk’s body. You can check the deformation and mesh flow by moving the various controls.
Now, the Hulk can be animated.

Conclusion
I hope you have enjoyed the series. You can follow all parts of the series and apply the techniques you've learned on any character. I wish you a happy character animation journey.
Subscribe below and we’ll send you a weekly email summary of all new 3D & Motion Graphics tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post