Building A Complete Human Character Rig In Maya, IK And Spline IK With Cluster Deformers
Today we're bringing you the second part of the Building A Complete Human Character Rig In Maya Tuts+ premium tutorial series that teaches you how to construct a complex, fully realized character rig using Maya's built in tool set. Author Soni Kumari will walk you through the entire process from start to finish and give you a detailed, in-depth lesson on what it takes to build a intuitive rig from scratch.
Through-out the project you'll learn how to construct the rig, skin your character and setup controllers for each body part. In this part you'll learn how to setup IK and Spline IK with Cluster deformers. By the end of this tutorial you will be able to use IK and Spline IK in your Character Rigging projects.
Also available in this series:
- Building A Complete Human Character Rig In Maya
- Building A Complete Human Character Rig In Maya, IK And Spline IK With Cluster Deformers
- Building A Complete Human Character Rig In Maya, Creating The Leg Controls
- Building A Complete Human Character Rig In Maya, Spinal Controls
- Building A Complete Human Character Rig In Maya, Hand Controls
- Building A Complete Human Character Rig In Maya, Global Control and Skinning
Before starting, save the file as "IK Setup.mb" which we had created in the 1st part. Now, open the file IK Setup.mb and in the Display Layer tab menu groups, enable the template mode (T) to see the inner joint skeleton.
Let’s concentrate on the left leg joints because all leg joints will be used for IK setup.
In Animation mode, click on the Skeleton menu and then click on the IK Handle Tool option box.
Now , in the opened IK handle Tool settings box, click on the Current solver dropdown menu button.
The Current solver option dropdown shows two types of solvers- ikSCsolver and ikRPsolver. Select ikRPsolver and then close the Tool Setting box.
With the IK handle tool selected, click on L_Thigh_joint. The entire joint structure will then be converted to a green color. After that click on L_Heel_joint.
Now, the IK handle will be applied on both the L_Thigh_joint and L_Heel_joint. This changes the joints to a purple color and also shows the ikRP effecter circle on top and the ik handle cross line at the bottom.
Now we will apply iks to the Toe joint and Toe Tip joint.
Go to the view panel menu and click on the Show menu, and check off the Grid item. This will remove the grid from the viewport.
Click again on the Skeleton menu and then click on the IK Handle Tool options box.
Now with the IK Handle Tool settings box opened, switch to the ikSCsolver option in the Current solver mode menu. And then close the Tool Settings options box.
Click on the L_Heel_joint and then click on the L_Toe_joint to apply the ikSCsolver.
Notice, this time it is showing the ik handle only, not the effecter circle, because this is the ikSCsolver.
Again with the Ik Handle Tool selected, click on the L_Toe_joint and then click on the L_ToeTip_joint.
See, there are three iks applied on the leg's joints. Now rename these iks in the Outliner window as L_ik_Heel, L_ik_Toe and L_ik_ToeTip.
For checking the functionality of the iks setup, select the L_ik_Heel handle and move it upward. You will notice that the leg joint behaves like a human leg. It means it now works fine, so press Ctrl+Z to undo the action.
After Applying iks for left leg, next we will setup the right leg joint's iks. Let's start and focus on the right leg and press Alt+B two or three times. The viewport background color will be changed, and now you can see all the objects easily.
In the Channel option, Display Layers group, click on the V marked button to hide the character mesh. By doing this you can see all joints and iks properly.
Now again go to Skeleton> IK Handle Tool and click on the little tiny box.
In the IK Handle Tool settings box, switch to ikRPsolver mode.
First click on the R_Thigh_joint and then click on the R_Heel_joint. Now Ik has been applied on the right leg.
Zoom in and focus on right foot. In the Tool Box bar (where it shows the highlighted last selected tool button,) double click to select the IK handle Tool and then open the IK handle Tool settings option box.
In the IK Handle Tool settings box, switch the ik handle tool to ikSCsolver mode.
Now, click on the R_Heel_joint and R_Toe_joint. Again press the Y key to select the last selected tool. With the ik handle tool selected, click on the R_Toe_joint and the R_ToeTip_joint.
Rename all the recently created right leg joint's iks as R_ik_Heel, R_ik_Toe and R_ik_ToeTip in the Outliner window.
Now, we will set the ik for the spine joints. So let’s concentrate on all the spine joints.
Once again click on the Skeleton menu, then the IK Spline Handle Tool option box ,and then the IK Spline Handle Tool setting options box opens.
In the Tool settings box, click on the Reset Tool tab button to reset all previous settings and then close the Tool Settings box.
With the IK_spline_Handle Tool selected, first click on the Spine_1 joint and then click on the Spine_5 joint. You will notice the spline handle has been applied for the spine joints. It is a different type of ik handle and you can't move it directly. It will be discussed in next steps.
Now, open the Outliner window, and rename this applied spline ik as Spine_ik_handle. And then zoom in and view the left hand's joint.
For the hand joints, first select the IK Handle Tool options setting box (in the Skeleton menu of the main menu bar) and check the ik handle tool mode. It should be in ikSCsolver mode.
First, click on the L_Clavicle_joint and then click on the L_Arm_joint. Now the left hand clavicle ik has been applied.
Again double click on the last ik handle tool selected, or open the IK Handle Tool options box for changing ik mode.
In the IK Handle Tool settings option box, switch to ikRPsolver mode again and close the option box.
With the IK Handle Tool selected in ikRPsolver mode, click on the L_Arm_joint and again click on the L_Wrist_joint. This applies hand ik from the L_Arm_joint to L_Wrist_joint but not on left hand joints.
With the applied hand ik selected, click on the Window menu and then click on the Hypergraph: Hierarchy command.
This opens the Hypergraph Hierarchy window. Here click on the Input and Output connection tab to frame the selected ik handle's components.
First press the W key to select the Move tool and in the Hypergraph Hierarchy window, select the effector component and then minimize or close the Hypergraph Hierarchy window.
Now press the Insert button (or hold down the D key) and click on the point to snap tab button.
Now, hold down the Middle Mouse button and drag the L_Hand_joint. You will notice that the ik effector jumps and snaps to the L_Hand_joint. And then click on the point to snap tab button and press the Insert button, or release the D key to reset snap mode and pivot mode.
Select the ik handle and the move tool, and select the X axis and move the ik handle.
You will now notice that it's movement reflects a real human hand movement. Press Ctrl+Z to undo the last move.
Now rename these iks as L_ik_Clavicle and L_ik_hand.
Now let’s create iks for the right hand. First zoom in and concentrate on the right side hand's joints in the Perspective view.
Click on the Skeleton menu and then click on the IK handle Tool options box to open the ik handle tool settings.
In the Tool Settings box, select ikSCsolver mode and then close the Tool Setting box.
Now with the ik handle tool selected, click on the R_Clavicle_joint and then click on the R_Arm_joint.
Again double click on the recent selected Tool Tab button in Tool box panel to open the ik handle tool settings box.
In the ik handle Tool Settings box, change the mode again to ikRPsolver and close it.
With the IK handle tool selected in ikRPsolver mode, first click on the R_Arm_joint and then click on the R_Wrist_joint. This applies the right hand's iks on the right hand joint.
With the right hand's ik handle selected, click on the Window menu on the main menu bar and click on Hypergraph: Hierarchy command.
In Hypergraph Hierarchy window, click on the Input and Output connection tab button.
Now, select the effector element to select the ik handle's effecter for alignment with the right hand joint. And close or minimize the Hypergraph InputOutput window.
Press the W key, or the Move Tool tab button in the Tool box panel to select the Move tool.
You will see the move tool gizmo. Now we'll need to carefully snap the ik handle with the right hand joint.
Now, press the Insert button or hold down the D key and click on the Point To Snap tab button.
Now, hold down the Middle Mouse button and drag it on the L_Hand_joint. The ik effector jumps and snaps to the L_Hand_joint. Again click on the Point To Snap tab button and press the Insert button (or release the D key) to reset the snap and pivot mode.
Now, press the Left mouse button anywhere in the viewport to deselect the selected ik effector. And then click on the ik handle tool.
Now it’s time to rename the two applied ik handles for the right hand.
Open the Outliner window and rename iks as R_ik_Clavicle and R_ik_hand.
Finally check the hand’s ik handle. Select the R_ik_hand and move it in the X axis. It behaves just like a real human hand's movement. After checking the ik handle tool, press the Ctrl+Z button to undo the action.
Now it’s time to work on the neck joint. So zoom in and let’s concentrate on the neck joint.
Click on the Skeleton menu and select the IK Handle Tool's option box to open the Tool Settings box.
Now, change the ik handle tool mode to ikCSsolver mode and Close the Tool Settings box.
Now, first click on the Neck_joint and then click on the Head_joint.
Again with the Ik Handle Tool selected, click on the Head_joint and then click on the Skull_joint.
Now rename the iks. Open the Outliner and rename them as Neck_ik and Head_ik.
Now zoom out and see all the joints and rigs together. You can see all the iks applied to the joints as well.
After the ik setup, we have to do some different operations on the Spine ik, because the Spine ik does multiple movements like a reptile character. So first zoom in and view all the spine joints.
If you get confused while looking at all the joints, rigs and iks properly due to their size in viewport, then you can do one thing. First, click on the Display menu in the main menu bar, and click on the Animation command and then click on the Joint Size command.
After clicking on the Joint Size command, the Joint Display Scale settings box opens.
In the Joint Display Scale box, you can either set a value by the slider. Or you can directly put a numeric value in the fill value box. The changed value will show in the viewport. After setting the desired value close the Joint Display box.
Now if you go to select the Spline IK Handle (which was applied earlier in Step 30), you'll get a Spline curve there. To see the Spline curve, select the Spine_ik_handle and go closer to any spine joint. You'll notice the Spline curve in a light green color.
If you try to select the Spline Curve you can face a problem selecting it easily. So here we can use the mask selection option to select a particular object in the viewport. So first click on Joint selection tab to freeze or mask the joint. After doing this, you can't select any joint tools now.
Now, click on the spine joint and you will see the Spline curve selected.
With the Spline curve Selected, Right click in a blank area of the viewport and then choose Control vertex.
After choosing the Control Vertex component, you'll notice the four vertices are purple color points.
For checking the Spine joint movement and orientation, select any vertex and move it any direction to see how does it behaves! It will act like a real Spinal Cord. So if you are satisfied with the movement, press Ctrl+Z to repose the joints.
Next, zoom in and concentrate on the Spine_1 joint to see the Spline curve vertex, and Select that vertex.
With the vertex selected, click on the Create Deformer menu in the main menu bar, and then click on the Cluster options box button to open the Cluster option settings box..
In the Cluster option settings box, check on Relative Mode and click on the Create button.
You can see now the C icon as a Cluster in a green color next to the side of the Spine_1 joint.
Now, with the Cluster selected, press Ctrl+A to open the Attribute Editor. In the Attribute Editor, Click on the cluster1HandleShape tab button.
Under the cluster1HandleShape tab, keep the mouse cursor in the Z origin fill box, hold down the Ctrl key and drag the mouse horizontally left/right. Set the value to something like (-1.140) as shown in the given image. The Cluster move away from the joint a bit.
Now, select the Spline curve, Right click and select the Control Vertex component to convert the vertex component into selection mode.
Select the second Vertex of the Spline curve to apply the cluster deformer once again.
With the vertex selected, go and click on Create Deformer menu and select Cluster. This time there's no need to click on Cluster option box again, because we have already chosen the relative mode in the previous step.
Now, with the cluster selected in the Attribute Editor panel, click on the Cluster2HandleShape tab and do the same as we did in the previous step. In the Origin Z fill value box, type (-1.064) (or drag the mouse inside the fill box with pressing the Ctrl key.) Again the cluster will translate a bit in the -Z axis.
Again click and select the Spline curve, and then click on the Select by Component Type mode tab. You will notice that this time the spline curve is converted into component mode. It will be easy making selections while using component selection again and again.
Select the next vertex and apply the Cluster again. Do same thing again as we did in step 88. All four clusters should look like the image given.
On the Status bar, click on the Select by Object Type mode tab. You will notice this time the spline curve is converted into object mode.
Now, open the Outliner window and rename all the created clusters. Naming should be like so: cluster_Hip, cluster_ABS, cluster_Chest and cluster_Back.
After renaming the Clusters, select any of the clusters and you'll see that the cluster's pivot point is not at the joint's exact center. So we have to snap the pivot point to the joint.
With the cluster_ABS selected, press the Insert key for pivot mode, and click the Snap to Point tab on the status bar.
Now, press and hold the Middle mouse button on the Spine_2 joint and drag slightly. You will see the pivot is now snapped to Spine_2.
Now select the cluster_Chest cluster and snap it to the Spine_4 joint. At last, press the Insert key and also click on the Point to Snap tool to disable it.
Select all theClusters and with pressing Shift on the keyboard, select the Root_joint and Press the P key to parented all the clusters.
To check and see if all the Clusters parented properly or not, select the Root_joint and drag it anywhere. You will notice that all the Clusters move with all the joints. Once you have checked it, press Ctrl+Z to undo and save the file as "All Iks applied.mb".
And that completes Part 2!