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:
- Complete Human Character Rig In 3D Studio Max, Part 1
- Complete Human Character Rig In 3D Studio Max, Part 2
- Complete Human Character Rig In 3D Studio Max, Part 3
- Complete Human Character Rig In 3D Studio Max, Part 4 Hand & Finger Controls
- 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 of4.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 Attributesand 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 Attributesand 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 expressionDegToRad(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.
No comments:
Post a Comment