Advertisement
  1. 3D & Motion Graphics
  2. Maya
Cgi

Rigging of Hulk: Part 7

by
Difficulty:AdvancedLength:MediumLanguages:

Preview

1. Linking the Head Control

Step 1

Open Maya. Open the file which was saved in the last part of the tutorial. 

Open Maya
Open Maya

Step 2

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

Head_Control01
Head_Control01

Step 3

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

Head_Control01
Head_Control01

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.

L_Clavicle_control01
L_Clavicle_control01

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.

L_FK_Arm_control01
L_FK_Arm_control01

Step 6

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

L_FK_Arm_control01
L_FK_Arm_control01

2. Creating the Head Control Attributes

Step 1

With Head_Control01 selected, go to Modify > Add Attributes to open the Add Attributes window.

Head_Control01
Head_Control01

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. 

Add Attributes
Add Attributes

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.

Add Attributes
Add Attributes

Step 4

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

MouthY and MouthZ
MouthY and MouthZ

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.

Head_Control01
Head_Control01

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. 

Head_Control01
Head_Control01

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.

Reload Right
Reload Right

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.

Head_Control01
Head_Control01

Step 5

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

MouthY to rotateY and MouthZ to rotateZ
MouthY to rotateY and MouthZ to rotateZ

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. 

Test the controls
Test the controls

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.

Skin  Edit Smooth Skin  Paint Skin Weight Tool
Skin > Edit Smooth Skin > Paint Skin Weight Tool

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.

Paint Skin Weight Tool Settings
Paint Skin Weight Tool Settings

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. 

Influences hierarchy
Influences hierarchy

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. 

JawTip_jnt01
JawTip_jnt01

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. 

JawTip_jnt01
JawTip_jnt01

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.

Jaw_jnt01
Jaw_jnt01 

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.

Head_Control01
Head_Control01

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. 

Paint Skin Weight Tool Settings
Paint Skin Weight Tool Settings

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. 

Skin Weights
Skin Weights

5. Creating Eye Controls

Step 1

Create a circle curve in the front view port, as shown in the following image. 

Create a circle curve
Create a circle curve

Step 2

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

Jump in the vertex selection
Jump in the vertex selection

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.

Create one more circle curve
Create one more circle curve 

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.

Make a duplicate copy
Make a duplicate copy 

Step 5

Rename the controls as R_EyeBall_ControlBoth_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.

Rename the controls
Rename the controls 

Step 6

With R_EyeBall_ControlBoth_EyeBall_Control and L_EyeBall_Control selected, go to Edit > Delete by Type > History to delete the history.

Edit  Delete by Type  History
Edit > Delete by Type > History

Step 7

With R_EyeBall_ControlBoth_EyeBall_Control and L_EyeBall_Control selected, go to Modify > Freeze Transformations to set the transformation values to 0.

Modify  Freeze Transformations
Modify > Freeze Transformations

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.

Constrain  Aim
Constrain > Aim 

Step 2

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

Aim Constraint Options
Aim Constraint Options

Step 3

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

L_EyeBall_Control
L_EyeBall_Control

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.

Test the aim constraint
Test the aim constraint

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.

Both_EyeBall_Control
Both_EyeBall_Control

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.

Parent Constraint Options
Parent Constraint Options

7. Creating Global Control

Step 1

Create a circle curve in the top view as shown in the following image. 

Create a circle curve
Create a circle curve

Step 2

Rename the circle curve as Global_Control.

Global_Control
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.

Window  Outliner
Window > Outliner

Step 4

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

Show  None
Show > None

Step 5

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

Global_Control
Global_Control

Step 6

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

Edit  Group
Edit > Group

Step 7

In the outliner window, rename the group as All_Control_Curves_GRP.

All_Control_Curves_GRP
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. 

Show  Joints
Show > Joints

Step 9

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

Root_jnt01
Root_jnt01

Step 10

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

All_Joints_GRP
All_Joints_GRP

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.

All_IKs_GRP
All_IKs_GRP

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.

Show  All
Show > All

Step 13

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

Set Driven Key
Set Driven Key

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.

Constrain  Parent
Constrain > Parent

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.

Parent Constraint Options
Parent Constraint Options

Step 16

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

Global_Control
Global_Control

Step 17

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

Constrain  Scale
Constrain > Scale

Step 18

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

Constrain  parent
Constrain > parent

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.

Final
Final

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.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.