Advertisement

Complete Human Character Rig In 3D Studio Max, Part 2

by
What You'll Be Creating

In part two of the Human Rigging series, you’ll pick up from where you left off and begin creating Ik’s and custom controls for the character’s rig. This will include setting up and working with wire parameters and custom attributes.

Throughout this series author Soni Kumari will walk you through the entire process of constructing a fully realized character rig from scratch using Max's proprietary toolset. Over the course of the project Soni will give you a series of in-depth lessons, working towards building a intuitive, animation friendly character rig from the ground up. If you've always wanted to learn how rig but didn't know where to start, this series is for you.


Also available in this series:

  1. Complete Human Character Rig In 3D Studio Max, Part 1
  2. Complete Human Character Rig In 3D Studio Max, Part 2
  3. Complete Human Character Rig In 3D Studio Max, Part 3
  4. Complete Human Character Rig In 3D Studio Max, Part 4 Hand & Finger Controls
  5. Complete Human Character Rig In 3D Studio Max, Part 5 Skinning

Step 1

In the second part of the tutorial, we will learn how to create IKs and links for the character controls. Let’s start the 3ds Max software and open the Character Bones.max file, which was saved in the first part of the tutorial.



Step 2

Before getting started, we need to hide the character mesh for some time. It will be convenient during selection and justifying the objects or elements in the viewport. So first open the Layer Manager. In the Layer Manager settings box, click on the ‘Hide-Unhide’ tab button to hide the character mesh. A bulb icon appears which means the particular layer is OFF. Then close the Layer Manager settings box.



Step 3

Now, we first have to link both thighs - Bn_L_thigh 01 and Bn_R_thigh 01 to Bn_Hip01 to the Hip bone. So select Bn_L_thigh 01 and Bn_R_thigh 01, then enable the Select and Link button on the main tool bar and then drag using the left mouse button onto Bn_Hip01.



Step 4

Now, we’ll apply IK for the left side leg bone. So select the Bn_L_thigh 01 bone, and click on Animation > IK Solvers > HI Solver.



Step 5

Now, with the HI Solver Tool selected, click on the Bn_L_Ankle 01 bone. You will notice a white cross wire here with the transform gizmo, which is called the IK handle.



Step 6

Again follow the same process for the right leg IK setup, and then you’ll see both leg's IKs like in the image below.



Step 7

Now, select Bn_L_Clavicle01 and Bn_R_Clavicle01 and enable the Select and Link button on the main tool bar, and then drag using the left mouse button onto Bn_chest01.



Step 8

Now, we’ll apply IK for the left side hand bone. So select the Bn_L_Arm01 bone then click on Animation > IK Solvers > HI Solver.



Step 9

Now, with the HI Solver Tool selected, click on the Bn_L_Hand01 bone. You will notice a white cross wire here which is the IK handle.



Step 10

Again follow the same process for the right hand IK setup, and then you will see both hand IKs and both leg IKs just like the image shown below. Now, let’s check all the links and IKs to see how they work.



Step 11

So first select BRoot_Spine01 and move it down a bit. You’ll notice a kind of pose in the character`s bones, so it is fine. Don’t forget to undo the action to restore the initial pose for the character's bones.



Step 12

Now, we are going to start making the foot controls. So in the Create Panel, go to the Helpers tab and then select Point. Before creating the Point Helper, turn On the Box option and keep the Size value at 2.0 under the Parameters group, and then create a point helper.



Step 13

Now with the point helper selected, hold down the Shift key and move it a bit away in the viewport. This opens the Clone Options window. In the Clone Options window, enable the Copy radio button and enter a value of 3 in the Number of Copies spinner box. Finally click on OK.



Step 14

After duplicating the point helpers, we will now snap them to specific bones.



Step 15

First select any one of the point helpers and then while holding down the Alt + A keys, click on the Ik chain of the left leg. This opens the Align Selection window. In the Align Selection settings box, turn Off Z Position and then click on the OK button.



Step 16

Again select another point helper, then hold down the Alt + A keys and click on Bn_L_Ankle 01. Once again the Align Selection box appears. This time in the Align Orientation Local group, turn On the X, Y and Z Axes, and turn off the X, Y and Z positions in the Align Position group and press the OK button. You will notice the selected point helper changes rotation according to the Bn_L_Ankle 01 orientation direction.



Step 17

Now, to do a Quick Align, select the point helper then press the Shift +A keys and click on Bn_L_Toe 01.



Step 18

This time the point helper is snapped according to the Bn_L_Ankle 01 orientation.



Step 19

Again select another point helper, then hold down the Alt + A keys and click on Bn_L_Toe 01. The Align Selection box appears. This time in the Align Orientation Local group turn on all X, Y and Z Axes, and turn off the X, Y and Z Positions in the Align Position group and press the OK button. You will notice the selected point helper changes rotation according to the orientation direction of Bn_L_Toe 01.



Step 20

Just as stated in previous steps, with the Point Helper selected, we do a Quick Align while pressing Shift +A and clicking on Be_L_ToeTip 01.



Step 21

Now select the last point helper and then do a Quick Align while pressing Shift +A key and clicking on Bn_L_Ankle 01.



Step 22

Now we need to rename all these aligned point helpers as PointH_L_Heel01, PointH_L_Toe01, PointH_L_Toetip01 and PointH_L_Ankle01.



Step 23

Now we have to link the helpers with each other and in a proper manner. So with the Select and Link tool enabled, first select PointH_L_Heel01 and drag the mouse onto PointH_L_Toe01. Then first select PointH_L_Toe01 and drag onto PointH_L_Toetip01. Finally select PointH_L_Toetip01 and drag onto PointH_L_Heel01.



Step 24

Now, select all the Point Helpers and click on the Mirror tab button. It opens the Mirror settings box. In the Mirror settings box, click on the Copy radio button and in the offset spinner box put a value of approximately -13.216 and then click on the OK button to apply the Mirror command. The offset value may vary in your case. This mirrors all the left side point helpers to the right side too.



Step 25

Rename all the mirrored Point Helpers as PointH_R_Heel01, PointH_R_Toe01, PointH_R_Toetip01 and PointH_R_Ankle01.



Step 26

Now we’ll freeze the transformation on all these point helpers. So select all the Point Helpers on both sides one by one.



Step 27

With all the Point Helpers selected, hold down the Alt key and right click on any of the selected helpers. A Popup menu appears, and then choose Freeze Transform.



Step 28

As soon as the Freeze Transform command is applied, a dialogue box appears, simply click on the Yes Button.



Step 29

Now, we have to apply Constraints to the point helper and bones as per requirement. So first select the left Ankle IK and go to Animation > Constraints > Position Constraint.



Step 30

With the Position Constraint selected, click on PointH_L_Ankle01 to apply the position constraint to the Ankle IK. For checking purposes, drag PointH_L_Ankle01 a bit, you will notice that the Ankle IK also moves with the helper.



Step 31

Next, with the Bn_L_Ankle 01 bone selected, click on Animation > Constraints and then select Orientation Constraint.



Step 32

Now click on PointH_L_Toe01 to apply the Orientation Constraint onto Bn_L_Ankle 01.



Step 33

Just like this, with the Bn_L_Toe 01 selected, click on Animation > Constraints and then select Orientation Constraint.



Step 34

Then click on PointH_L_Toetip01.



Step 35

Now, follow the same steps for the right side Point Helpers to apply the Orientation Constraints.



Step 36

After doing this, we’ll be creating the main Curve Controls. So jump into the Top view, take the Line tool, right click on the Snap Toggle button and turn on the Grid Points option.



Step 37

Draw a rectangle shape in the viewport. After that turn off the Snap Toggle button.



Step 38

Again jump into the Perspective view, and put the rectangle shape beneath the left foot. Click on the Modify panel, and select Vertex mode.



Step 39

Select vertices and reshape the curve as shown in the image below. The Curve shape should look like a basic character’s foot.



Step 40

Now with the Curve shape selected, click on the Rendering tab, expand it, and turn on the Enable In Viewport option. Enter a value of 0.3 in Thickness spinner box.



Step 41

Again with the curve shape selected, click on the Hierarchy panel and select the Affect Pivot Only button.



Step 42

Now, press Shift+A and click on the left Ankle IK to snap the pivot point. Then again turn Off the Affect Pivot Only button.



Step 43

Now Rename the curve shape as CtrlC_L_Leg 01, and with the CtrlC_L_Leg 01 selected, click on the Mirror button.



Step 44

It opens the Mirror options box. Turn on the Copy radio button, then set the Offset values according to your preference. And click on the OK button.



Step 45

Now, with the mirrored control selected for the right side foot, press Shift+A and click on the right Ankle IK for quick snap.



Step 46

Rename the new curve as CtrlC_R_Leg 01. Now we’ll link the foot controls with the Heel point helpers. But before linking them, let’s do a Freeze transform for the control curves.



Step 47

Select PointH_L_Heel01, click on the Link Select button and drag it onto the CtrlC_L_Leg 01. Do same for the right leg.



Step 48

Now, we'll add custom parameters for the foot controls. So with the CtrlC_L_Leg 01 selected, go to the Modify panel, and click on the modifier dropdown arrow. And choose the Attribute Holder command from list.



Step 49

With the CtrlC_L_Leg 01 selected, click on the Animation menu and choose the Parameter Editor.



Step 50

It opens the Parameter Editor window. It looks like a complicate panel, but don’t worry, I’ll simplify each step for a better understanding.



Step 51

So, first click on the Parameter Type drop down arrow and select String.



Step 52

Now, rename the selected control as "Heel Control" in the Name box. And in the Default Text box, enter XYZ and then click on the Add button to add the Heel control attribute group in the modifier.



Step 53

You'll notice that the Heel control attribute is added in the Custom Attribute palette. Again click on the Parameter Type browser arrow, and this time select Float.



Step 54

After choosing the Float Parameter Type, rename it Heel X in the Name box, and enter a value of 100 in the Size box and in the Range spinner box. Set the From field to -360, and the To field to 360. Finally click on the Add button to add the Heel X Attribute.



Step 55

Add another Attribute once again, this time rename it Heel Y only and leave the Range and Size parameters untouched. And then click on the Add button to add the Attribute.



Step 56

Once again, add another Attribute, this time rename it Heel Z only and leave the Range and Size parameters untouched. Then click on the Add button to add the Attribute.



Step 57

Now, you’ll see three attributes for the Foot Auxiliary controls in the Custom Attribute panel.



Step 58

In the same way we'll create more Attributes for the foot control. So first select String in Parameter Type, then type "Toe Controls" in the Name box and "XYZ Rotation" in the Default Text box, finally press the Add button.



Step 59

Now, you'll notice in the Custom Attributes, that one more Toe Controls category has been added.



Step 60

Again change the Parameter Type to Float, and rename it as "Toe X" in Name box. Change the value for Width to 100 (under the Size group,) and keep the values for Range set as: From -360 and To 360, then click on the Add button.



Step 61

Now create two more, Toe Y and Toe Z control spinners using the same process as we did in the previous steps.



Step 62

Now, just like this we'll create one more Attribute for the foot control to make the other categories for the Auxiliary controls. So first select String in the Parameter Type, then type "Ball Controls" in the Name box, and "XYZ Rotation" in the Default Text box. Finally press the Add button.



Step 63

Now, you will notice in the Custom Attribute, that one more Ball Controls category is added.



Step 64

Again change the Parameter Type to Float, Rename it as "Ball X" in Name box and change the value for Width to 100 (under the Size group.) Keep the values for Range set to: From -360 and To 360, and then click on the Add button.



Step 65

Create two more, Ball Y and Ball Z control spinners using the same process as we did in the previous steps.



Step 66

I found that I made one mistake during renaming the controls properly. So select and Rename the Heel Control "XYZ Rotation". Always be careful in nomenclature.



Step 67

Now for the right side Custom Attribute creation, we have to follow the same process as we did for left side.



Step 68

Now, we are going to connect the Custom Attribute with wire parameters for proper controls. So first select CtrlC_L_Leg 01, Right-click and then select Wire Parameters.



Step 69

Now follow the link as shown in the image below. Start from Modifier Object > Attribute Holder > Custom Attributes and then select Heel X.



Step 70

With the Heel X selected, click on PointH_L_Heel01 and again you have to follow the link direction as depicted in the image. I.e. start from Transform > Rotation > Zero Euler XYZ and then select X Rotation.



Step 71

It opens the Parameter Wiring options window. First click on the Control direction arrow and then type DegToRad(Heel_X) in the expression text box, and finally click on the Update button.



Step 72

Now for the other direction wiring, select right side Heel Y, then select Y Rotation: Bezier Float. Then click on control direction and type the expression text as DegToRad(Heel_Y), and finally click on the Connect button.



Step 73

Again do same for Heel Z while following the previous steps.



Step 74

Now this time we’ll connect the Wire Parameter for the Toe Control. So with the CtrlC_L_Leg 01 selected, Right-click and choose Wire Parameters.



Step 75

Now follow the link as shown in the image below. Start from Modifier Object > Attribute Holder > Custom Attributes and then select Toe X.



Step 76

With the Toe X selected, click on PointH_L_Toe01 and again you have to follow the link direction as depicted in the image. I.e. start from Transform > Rotation > Zero Euler XYZ and then select X Rotation.



Step 77

It opens the Parameter Wiring option window. First click on the Control direction arrow and then type DegToRad(Toe_X) in the expression text box, and finally click on the Update button.



Step 78

Now for the other direction wiring, select right side Toe Y, then select Y Rotation: Bezier Float. Then click on control direction and type the expression text as DegToRad(Toe_Y), and finally click on the Connect button.



Step 79

Now select right side Toe Z, then select Z Rotation: Bezier Float. Then click on control direction and type the expression text as DegToRad(Toe_Z), and finally click on the Connect button.



Step 80

Again with the CtrlC_L_Leg 01 selected, Right-click and choose Wire Parameters and follow the link as shown in the image below. Start from Modifier Object > Attribute Holder > Custom Attributes and then select Ball X.



Step 81

With the Ball X selected, click on PointH_L_Toetip01 and again you have to follow the link direction as depicted in the image. I.e. start from Transform > Rotation > Zero Euler XYZ and then select X Rotation.



Step 82

And then follow the same process as we have done in steps 77, 78 and 79.



Step 83

And finally follow the same process for the right side foot control also as we did for the left foot. In the next part of the tutorial we'll see a more advanced setup for the legs and then we’ll move ahead towards the Spine and Hands IK setup.



In the next part of the tutorial we'll see a more advanced setup for the legs and then we’ll move ahead towards the Spine and Hands IK setup.