Hostingheaderbarlogoj
Join InMotion Hosting for $3.49/mo & get a year on Tuts+ FREE (worth $180). Start today.
Advertisement

Complete Human Character Rig In 3D Studio Max, Part 4 Hand & Finger Controls

by
What You'll Be Creating

Today we’re bringing you the fourth part of Soni Kumari’s exceptional Human Rigging tutorial series for 3D Studio Max. In this lesson, you’ll learn how to construct the necessary controls and constraints for the character's hands and fingers!


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

Project Overview:

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.


Step 1

In the fourth Part of the tutorial, you'll learn how to create the hand and finger controls. Let’s start 3ds Max and open the "Character upper Body controls.max" file which was saved in the last part of the tutorial.



Step 2

Since we have already created Iks for both hands in the previous part of the tutorial, first rename them as IK_R_Hand01 and IK_L_Hand01.



Step 3

Before starting the next process of rigging, we have to lock the controller’s transformations. In the previous steps, we have already locked the scale transform of both foot controls - CtrlC_R_Leg and 01 CtrlC_L_Leg 01. So now with CtrlC_R_Knee 01 selected, Alt+Right-click and choose the Curve Editor option in the pop-up menu.



Step 4

This opens the Curve Editor window. In the Curve Editor window, select Scale node.



Step 5

With the Scale node selected, Right-click and select the Lock command in the pop-up menu to lock the scale property.



Step 6

In the same way, lock the scale property of the CtrlC_L_Knee 01 control too.



Step 7

Now, with the CtrlC_COG01 selected, press Alt+Right-click and choose the Curve Editor command to open the Curve Editor window.



Step 8

In the Curve Editor window, lock the Scale property of the CtrlC_COG01 control too.



Step 9

Sometimes we may have to lock other transform properties in some cases. Like in the case of the CtrlC_Hip shake 01 control, we have to lock both the Scale and Position properties. So with the CtrlC_Hip shake 01 selected, Alt+Right-click and select the Curve Editor. In the Curve Editor window, select the X, Y and Z Positions and also select Scale. In the case of CtrlC_Hip shake 01 control, we need only the Rotation property left.



Step 10

So with the X, Y and Z Positions and Scale selected in the Curve Editor, Right-click and choose the Lock command.



Step 11

Just like this we have to lock the Position and Scale properties of the CtrlC_Spine01 control also. So with the CtrlC_Spine01 control selected, open the Curve Editor window, select the X, Y, Z Positions and Scale, and lock these properties.



Step 12

Just like this, keep locking the other controller's Scale and Position properties, as per requirement. This is quite necessary for animation.



Step 13

We’ll lock the Neck and Head controls also for the Position and Scale nodes. Here we’ll use only the Rotation property for animation.



Step 14

Now, we'll start creating the next controls curves. So jump into the perspective view, and create a rectangle shape near the neck as shown in the image below.



Step 15

With the rectangle shape selected, Right-click and select the Convert to Editable Spline command.



Step 16

Now, select the rectangle shape and press Shift+A for Quick Align, and then click on Bn_L_Clavicle01 as shown in the image below.



Step 17

Now, select the rectangle shape again and then click on the Affect Object Only button under the Hierarchy panel. And then place it around the neck area as shown in the image. After this, switch off the Affect Object Only button.



Step 18

Rename the rectangle shape as "CtrlC_L_Clavcle01" and with it selected, click on the Mirror tool. This opens the Mirror Options dialog box . Select Copy mode and then press the OK button. This will make a mirrored copy of the rectangle shape on the other side.



Step 19

Select the newly created mirrored rectangle shape and after pressing Shift+A, click on the Bn_R_Clavicle01 bone to quick align. Also Rename the shape curve as "CtrlC_R_Clavcle01".



Step 20

Now, for the constraint joint and clavicle control curve, we have to create a point helper. So in the Create Panel, click on Helpers and then select Point button. Then in the Display group, check on the Axis Tripod and Box options with a size value of 4.0. Now click on the grid to create a point helper.



Step 21

With the point helper selected, press Alt+A and then click on Bn_L_Clavicle01 to quick snap.



Step 22

When you click on Bn_L_Clavicle01, it opens the Align Selection window. Here turn on all X, Y and Z Positions and also all Align Orientation Axes X, Y and Z, then press the OK button.



Step 23

Now, with the aligned point helper selected, press the Mirror button and then set the Offset to something similar to what's shown in the image. Then check on the Copy radio button and finally click on OK. This makes a mirrored duplicate point helper on the opposite side.



Step 24

Now, Rename both point helpers as "PointCtrl_R_Clavcle01" and "PointCtrl_L_Clavcle01".



Step 25

Now with Bn_L_Clavicle01 selected, go to Animation > Constraints and choose the Orientation Constraint.



Step 26

Now, with the Orientation Constraint selected, click on PointCtrl_L_Clavcle01 to apply the Orientation Constraint.



Step 27

Now click on the Select and Link button and then first select PointCtrl_L_Clavcle01 and drag and drop onto CtrlC_L_Clavcle01 to link.



Step 28

Now, for the right side clavicle control link. Follow the same process as we did previously in steps 25, 26 and 27. Let’s also Rename the right side clavicle control as "CtrlC_R_Clavcle01".



Step 29

Now, for linking. Click on the Select and Link button, then first select CtrlC_R_Clavcle01 and CtrlC_L_Clavcle01 and then drag the mouse button and drop it onto CtrlC_Chest01.



Step 30

After doing this, don’t forget to freeze both newly created clavicle control curves.



Step 31

Now, jump into the Top view to create the hand controls. So either select the Line tool or Rectangle tool, and draw a rectangular shape on the viewport.



Step 32

Now, with the rectangular shape selected, press Shift+A and click on IK_ L_Hand01 to align the rectangular shape with the left hand IK.



Step 33

Now, select the rectangular shape curve and in Vertex mode, reshape it as shown in the image below. It should roughly look like a hand shape.



Step 34

With the rectangular shape curve selected, press the Mirror button on the main tool bar, select the Copy radio button in Mirror options box, and then click on OK. This will make a mirrored duplicate rectangle shape on the opposite side.



Step 35

Select the new mirrored rectangular shape, then press Shift+A and click on IK_R_Hand01 to snap the curve to the right hand control shape.



Step 36

Now Rename both side hand control shapes as "CtrlC_R_Hand01" and "CtrlC_L_Hand01", and also change their colors.



Step 37

Now, go to Create panel > Helper > Point and then click on grid to create a point helper.



Step 38

Select the newly created point helper, and then press Alt+A and click on Bn_L_Hand01. This opens the Align Selection settings box. In the settings box, check on all X,Y and Z positions also check on all X,Y and Z axes under Align Orientation. Then click on the OK button.



Step 39

Again select the newly created point helper and press Ctrl+V to make a clone of the point helper. In the Clone Options window, select Copy and then click OK.



Step 40

After cloning the point helper, select it and then press Alt+A and click on Bn_R_Hand01. It opens the Align Selection settings box. Here check on all X,Y and Z positions, also check on all X,Y and Z axes under Align Orientation and then click on OK. Also Rename both point helpers as "PointCtrl_R_hand01" and "PointCtrl_L_hand01".



Step 41

Now with Bn_L_Hand01 selected, go to Animation > Constraints and choose the Orientation Constraint.



Step 42

Now, with the Orientation Constraint selected, click on PointCtrl_L_hand01 to apply the orientation constraint.



Step 43

Now, click on the Select and Link button and then first select PointCtrl_L_hand01 and then drag and drop onto CtrlC_L_Hand01 for linking.



Step 44

In this way, follow the same process for the right side hand control and also link the helper to the hand control.



Step 45

After creating the new control, we must do a Freeze Transform. So with both CtrlC_R_Hand01 and CtrlC_L_Hand01 selected, Alt+Right-click and select the Freeze Transform option in the pop-up menu.



Step 46

Now with IK_ L_Hand01 selected, go to Animation > Constraints and choose the Position Constraint.



Step 47

With the Position Constraint chosen, click on PointCtrl_L_hand01 to apply the Position Constraint on the IK handle.



Step 48

Follow the same process for the right hand control helper also.



Step 49

For checking the hand controls connectivity, Rotate and Move the controls and make a pose as you wish.



Step 50

Select, CtrlC_R_Hand01 and CtrlC_L_Hand01 then Alt+Right-click and apply the Transform To Zero Command.



Step 51

When you use Transform To Zero, all selected control curves will go into the initial pose like in the image.



Step 52

Now, with CtrlC_L_Hand01 selected, open the Curve Editor and select the Scale node first and then Right-click, and choose Lock. Do the same for right side hand control curve also.



Step 53

Now, we are going to create the Elbow control. So jump into the Top view and with the help of either the Line or Rectangle tool (with Snap mode enabled), draw a square shape as shown in the image below.



Step 54

Now, jump into Perspective view, then with the Rotate tool and Snap selected, hold down Shift and drag in the Y Axis. This opens the Clone Options window. Here select the Copy option and then press the OK button.



Step 55

Just like this, make another instance of the square shape and arrange them altogether as shown in the image. Now select any of the shapes, go to the Modify panel and with the Attach option enabled, click on the other two squares shapes one by one.



Step 56

Now, select the attached square curve and quick snap it with the elbow bone, and also Scale it down it as shown in the image below.



Step 57

Now, make one more clone of square shape and then quick align it with the right side elbow bone, just like we did previously.



Step 58

Now, select both shapes and move them behind in the Y Axis, as shown in the image. Also Rename them as "CtrlC_R_Elbow01" and "CtrlC_L_Elbow01" respectively.



Step 59

Select IK_ L_Hand01 and then go to the Motion panel.



Step 60

In the IK Solver Properties (underneath Pick Target), click on the None button and then click on CtrlC_L_Elbow01 in the viewport to select it as the target.



Step 61

Now, do the same things for the right elbow control. And also do a Freeze Transform for both Elbow controls.



Step 62

Now, we will create the fingers controls. For this, first we have to make a curve shape for each individual finger. So jump into the side view, go to the Create panel, and select the NGon shape tool. Set the Sides to 4, and then drag on the viewport to create a shape as shown in the image below.



Step 63

Now, again jump into the Perspective view, select the Ngon shape curve, Right-click and choose Convert To: > Convert to Editable Spline.



Step 64

Select the newly created NGon shape, and press Alt+A and then click on Bn_L_Thumb01. This opens the Align Selection settings box. Here check on all X,Y and Z positions and also check on all X,Y and Z axes under Align Orientation, and then click OK.



Step 65

After doing this, again go to the Modify panel and in Spline component mode, Rotate the shape according to the thumb start bone.



Step 66

Again with the same NGon shape selected, go to the Hierarchy panel and select the Affect Object Only option and then move the NGon a bit upward as shown in the image.



Step 67

With the NGon selected, press Ctrl+V to open the Clone Options and make a copy of the shape.



Step 68

With the newly cloned NGon shape selected, press Alt+A and click on Bn_L_Index01. This opens the Align Selection settings box. Here check on all X,Y and Z positions and also check on all X,Y and Z axes under Align Orientation, and then click on OK.



Step 69

Now with this NGon selected, press Ctrl+V to make one more clone.



Step 70

Just like before, select the newly cloned Ngon shape, and then press Alt+A and click on Bn_L_Index01. This opens the Align Selection settings box. Here turn on all X,Y and Z positions, with all X,Y and Z axes checked under Align Orientation, and then click on OK.



Step 71

Just like this, keep Cloning the NGon shapes for the rest of the fingers and align them as you have done before.



Step 72

Now Rename all the finger controls as "CtrlC_L_Thumb01", "CtrlC_L_Index01", "CtrlC_L_Middle01", "CtrlC_L_Ring01" and "CtrlC_L_Pinky01" respectively.



Step 73

Now, with the Bn_L_Thumb01 bone selected, go to Animation > Constraints and choose the Orientation Constraint.



Step 74

Now, with the Orientation Constraint chosen, click on CtrlC_L_Thumb01 to apply the Orientation Constraint on the Thumb control.



Step 75

Just like this, with the Bn_L_Index01 bone selected, go to Animation > Constraints and then choose Orientation Constraint.



Step 76

With the Orientation Constraint selected, click on CtrlC_L_Index01 to apply the Orientation Constraint onto the Index control.



Step 77

Next, with the Bn_L_Middle01 bone selected, go to Animation > Constraints and then choose Orientation Constraint.



Step 78

With the Orientation Constraint chosen, click on CtrlC_L_Index01 to apply the Orientation Constraint onto the Index control.



Step 79

So just like this, follow the same process for the rest of the fingers.



Step 80

Now we will make Custom Attributes. To add Custom Attributes, first select CtrlC_L_Thumb01 then go to the Modify panel and then choose the Attribute Holder command in the modifier list.



Step 81

With CtrlC_L_Thumb01 selected, go to the Animation menu and then select the Parameter Editor.



Step 82

This opens the Parameter Editor settings window. First change the Parameter Type to String and then write "Thumb" in the UI Type Name field. Then inside the Default Text box, write "Secondary control" and then press the Add button.



Step 83

After that, once again while in the Parameter Editor, change the Parameter Type to Float this time and then write "Thumb Middle Z" in UI Type Name field. Then keep the Width value at 100 and the Range from -360 to 360 and then press the Add button.



Step 84

Just like this, once again in the Parameter Editor, change the Parameter Type to Float and then write "Thumb End Z" in the UI Type Name field. Keep the Width value at 100 and the Range from -360 to 360 and then press the Add button.



Step 85

Next, select CtrlC_L_Index01 and then choose the Attribute Holder modifier from the Modifier list.



Step 86

With CtrlC_L_Index01 selected, open the Parameter Editor settings window again. First change the Parameter Type to String, and then write "Index" in UI Type Name field. Finally write "Secondary control" inside the Default Text box and then press the Add button.



Step 87

Again in the Parameter Editor, change the Parameter Type to Float and then write "Index Middle Y" in the UI Type Name field. Keep the width value at 100 and the Range value from -360 to 360 and then press the Add button.



Step 88

Again in the Parameter Editor, change the Parameter Type to Float and then write "Index End Y" in the UI Type Name field. Keep the width value at 100 and the Range from -360 to 360 and then press the Add button.



Step 89

Next, select CtrlC_L_Middle01 and then choose the Attribute Holder modifier from the Modifier list.



Step 90

With CtrlC_L_ Middle01 selected, go to the Animation menu and then select the Parameter Editor. This opens the Parameter Editor window. Here change the Parameter Type to String, and write "Middle" in the UI Type Name field. Then inside the Default Text box, write "Secondary control" and then press the Add button.



Step 91

Again in the Parameter Editor, change the Parameter Type to Float and write "Middle Middle Y" in the UI Type Name. Keep the width value at 100 and Range from -360 to 360 and then press the Add button.



Step 92

Continuing with the Parameter Editor, change the Parameter Type to Float and write "Middle End Y" in the UI Type Name field, with the Width value at 100 and the Range from -360 to 360 and then press the Add button.



Step 93

Follow the same process to make the Ring finger’s secondary control attributes.



Step 94

And just like this, do the same to make the Pinky finger’s secondary control attributes.



Step 95

Now, we will connect all attributes with wire parameters. So first select CtrlC_L_Thumb01, then Right-click and choose Wire Parameters... in the popup menu.



Step 96

When you choose Wire Parameters..., a pop-up menu appears. Here go to Modified Object > Attribute Holder > Custom Attributes and then choose Thumb Middle Z.



Step 97

Now, with Thumb Middle Z selected from the previous pop-up menu, click on Bn_L_Thumb02. Another pop-up menu appears. Here go to Transform > Rotation > Zero Euler XYZ and then select Z Rotation.



Step 98

this opens the Parameter Wiring window. In the left side, Thumb Middle Z is highlighted and in the right side, Z Rotation: Bezier Float is highlighted. Since Thumb Middle Z will control the Z Rotation, select and click on the left to right control direction arrow button.



Step 99

Now, write the Expression DegToRad(Thumb_Middle_Z) and then click on the Connect button.



Step 100

Again, select CtrlC_L_Thumb01 and then choose Wire Parameters. Go to Modified Object > Attribute Holder > Custom Attributes and then choose Thumb End Z in the pop-up menu.



Step 101

Now, the Parameter Wiring window opens. Since Thumb End Z will control the Z Rotation, select and click on the left to right control direction arrow button. Also write the expression DegToRad(Thumb_End_Z) and then click on the Connect button.



Step 102

Now, for the Index finger wiring, select CtrlC_L_Index01, Right-click and choose Wire Parameters. A pop-up menu appears. Here go to Modified Object > Attribute Holder > Custom Attributes and then choose Index Middle Y.



Step 103

Now, with the Index Middle Y selected from the previous pop-up menu, click on the Bn_L_Index02 bone. Another pop-up menu appears. Here go as Transform > Rotation > Zero Euler XYZ and then select Y Rotation.



Step 104

This opens the Parameter Wiring window. On the left side, Index Middle Y is highlighted and on the right side, Y Rotation: Bezier Float is highlighted. Since Index Middle Y will control the Y Rotation, select and click on the left to right control direction arrow button. Also write the expression DegToRad(Index_Middle_Y) and then click on the Connect button.



Step 105

Next, select CtrlC_L_Index01, Right-click and choose Wire Parameters. This opens a pop-up menu. Here go to Modified Object > Attribute Holder > Custom Attributes and then choose Index End Y.



Step 106

With Index Middle Y selected from the previous popup menu, click on the Bn_L_Index03 bone and then select Transform > Rotation > Zero Euler XYZ and then select Y Rotation.



Step 107

Now, the Parameter Wiring window opens. On the left side, Index End Y is highlighted and on the right side, Y Rotation: Bezier Float is highlighted. Since Index End Y will control the Y Rotation, select and click on the left to right control direction arrow button. Also write the expression DegToRad(Index_End_Y) and then click on the Connect button.



Step 108

Now, for the middle finger wiring, select CtrlC_L_Middle01, Right-click and choose Wire Parameters. Here go as Modified Object > Attribute Holder > Custom Attributes and then choose Middle Middle Y.



Step 109

With Middle Middle Y selected from the previous pop-up menu, click on the Bn_L_Middle02 bone and then go to Transform > Rotation > Zero Euler XYZ and then select Y Rotation.



Step 110

Now, the Parameter Wiring window opens. On the left side, Middle_Middle_Y is highlighted and on the right side, Y Rotation: Bezier Float is highlighted. Since Middle_Middle_Y will control the Y Rotation, select and click on the left to right control direction arrow button. Also write the expression DegToRad(Middle_Middle_Y) and then click on the Connect button.



Step 111

Again, select CtrlC_L_Middle01, Right-click and choose Wire Parameters. This opens a pop-up menu. In the pop-up menu, go to Modified Object > Attribute Holder > Custom Attributes and then choose Middle End Y.



Step 112

With Middle End Y selected from the previous pop-up menu, click on the Bn_L_Middle03 bone and then select Transform > Rotation > Zero Euler XYZ and then select Y Rotation.



Step 113

The Parameter Wiring window opens again. On the left side, Middle_End_Y is highlighted and on the right side, Y Rotation: Bezier Float is highlighted. Since Middle_End_Y will control the Y Rotation, select and click on the left to right control direction arrow button. Also write the expression DegToRad(Middle_End_Y) and then click on the Connect button.



Step 114

Now, follow the same process for each of the two remaining fingers.



Step 115

And this way you can create wire connections and custom attributes for the right hand controls as well.



Step 116

Finally check the finger controls and save the file as "Complete Upper Body Controls".max. In the next part of the tutorial we will learn how to apply the skin modifier onto the character mesh.



Advertisement