Keep up-to-date with Free tutorials!!


Sign up to our twice-monthly newsletter today for the latest tutorials, interviews and product information.

Sign me up to receive third-party emails from 3dtotal's partners, too!

- Latest news
- Exclusive Shop Offers
- Preview early content
- Plus much more


Not Ready to take that step? OK, Why not just Subscribe to the RSS Feed

submit tutorial
1 | 2 | 3
Introduction to rigging in Maya – The hands

| Your Rating:
rating star fullrating star fullrating star fullrating star fullrating star full
(14 Votes)
| Comments 0
Date Added: 17th March 2014
Software used:

Creating the palm joint

Currently, rotating the torso controls does not quite give me the result I'm after from the shoulders. To fix this, first select l_shoulder_ctrl_offset and r_shoulder_ctrl_offset and hit Shift+P to un-parent them from the chest_IK_ctrl. Now select spineF_IK_jnt, Shift-select l_shoulder_ctrl_offset and go Constrain > Parent. Repeat the step for the right arm and then we can move on to the hands.

Select l_armEnd_jnt and hit Ctrl+D to duplicate it and then Shift+P to bring it out of its current hierarchy. Rename the joint l_palm_jnt and then with that joint selected, hit Ctrl+D to duplicate it. Rename the new joint l_palmEnd_jnt and translate it along the Y-axis (make sure to set the translate mode to Local when doing this). Now parent l_palmEnd_jnt under l_palm_jnt.

Let's now create the low-res geometry for the hand. Select the main mesh and duplicate it. In Face mode, select all the faces, other than that of the hand, and delete them. Rename this geometry l_hand_proxy_geo and then parent the geometry under l_palm_jnt.

The palm control in place and the low-res mesh parented to it

Creating the palm control

To create the palm control, open up the Script Editor, load the and add the following line to the end of the script:

cmds.pointconstraint(ctrl, s, mo=0)

Select l_palm_jnt and then execute the script to create the control. The joint will be both point and orient constrained to the control. Now edit the control in CV mode (F8) to make it more easily selectable.

Add the extra line to the script to both point and orient constraint the palm joint to the control

To get the palm to create the forearm twist, open up the Expression Editor (Windows > Animation Editor) and modify the bottom portion of the l_armTwist_expr to read like so:

l_lowerArmTwistA_jnt.rotateY = l_palm_jnt.rotateY *.25;
l_lowerArmTwistB_jnt.rotateY = l_palm_jnt.rotateY *.5;
l_lowerArmTwistC_jnt.rotateY = l_palm_jnt.rotateY *.75;

Now select l_palm_jnt, open up the Attribute Editor and set the Rotate Order to YZX. Set the Rotate Order for l_palm_ctrl to YZX also.

Editing the l_armTwist_expr to have the palm joint drive the forearm twist

Attaching the hand to the arm

Create 2 locators (Create > Locator) and rename them l_arm_FK_con and l_arm_IK_con. Select l_arm_FK_con and hit Ctrl+G to group it to itself. Rename this group l_arm_FK_con_offset and then do the same for l_arm_IK_con. Now select both l_arm_FK_con_offset and l_arm_IK_con_offset and parent them under l_palm_ctrl. Zero out the translate and rotate attributes in the Channel Box so they snap into place and then hit Shift+P to un-parent them. To make the locators more easily selectable, select them and increase the Local Scale X, Y and Z in the Channel Box (you'll find this setting under SHAPES).

Now select in this order: l_arm_FK_con, l_arm_IK_con, l_palm_ctrl_offset and go Constrain > Parent. Now select in this order: l_armEnd_jnt, l_arm_FK_con and go Constrain > Point and then Constrain > Orient. Then select in this order: l_armEnd_jnt, l_arm_IK_con and go Constrain > Point. The hand should now follow both the FK and the IK arm. We now want to use a Set Driven Key to control which arm chain it should follow.

The locators in place to allow the hand to follow the arm, and editing the Local Scale to increase the locators' size

Open up the SDK window by going Animate > Set Driven Key > Set and with the fkIkSwitch_ctrl selected, hit Load Driver. Then select the parentConstraint node that lives under l_palm_ctrl_offset and hit Load Driven. Then set the L Arm attribute to 0 (FK mode) on the fkIkSwitch_ctrl and on the parentConstraint node, set the L Arm FK Con W0 to 1 and the L Arm IK Con W1 to 0. Hit Key on the SDK window. Now set the fkIkSwitch_ctrl to 1 (IK mode) and on the parentConstraint node, set the L Arm FK Con W0 to 0 and the L Arm IK Con W1 to 1. Hit Key on the SDK window once more. The palm should now follow the arm correctly in both FK and IK modes.

Let's do a quick tidy up of the Outliner now. First, let's rename l_arm_FK_con and l_arm_FK_con_offset to l_palm_FK_con and l_palm_FK_con_offset as that makes more sense (do the same for the IK set). Then, select both l_palm_FK_con_offset and l_palm_IK_con_offset and hit Ctrl+G. Rename this group l_palm_con_grp.

Using the SDK window to have the hand follow the FK or the IK arm

< previous page continued on next page >

1 | 2 | 3
Related Tutorials

Maya Modeling: Polygonal Modeling Theory

by Jahirul Amin
published on 2013-07-24

Keywords: character, face, modeling, maya,

rating star fullrating star fullrating star fullrating star fullrating star half (23)
Comments 1 Views 98965

Maya modeling: Arms

by Jahirul Amin
published on 2013-09-30

Keywords: character, human, anatomy, arms,

rating star fullrating star fullrating star fullrating star fullrating star full (23)
Comments 1 Views 109181

Maya - Hands and feet

by Jahirul Amin
published on 2013-10-21

Keywords: fingers, hands, maya, feet, tutorial, modeling,

rating star fullrating star fullrating star fullrating star fullrating star half (19)
Comments 1 Views 79331

Introduction to Maya: General Tools

by Jahirul Amin
published on 2013-06-26

Keywords: introduction, maya, ui, tools,

rating star fullrating star fullrating star fullrating star fullrating star none (8)
Comments 0 Views 28821
Readers Comments (Newest on Top)
no comments!
No comments yet. Be the first to comment!
Add Your Comment..