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 | 4
Introduction to rigging in Maya - The shoulder and the arms

| Your Rating:
rating star fullrating star fullrating star fullrating star fullrating star full
(Score 5 out of 5 after 23 Votes)
| Comments 5
Date Added: 3rd March 2014
Software used:

Adding the elbow control

For the elbow control, I would like a locator-like shape. So, select l_eye_ctrl_offset, hit Ctrl+D to duplicate it and then Shift+P to un-parent it from its current hierarchy. Rename the duplicated control hierarchy from top to bottom as follows: l_elbow_ctrl_offset, l_elbow_ctrl_auto and l_elbow_ctrl. You can use the Search and Replace Names tool to speed up the renaming of the control. You'll find this tool under Modify.

Next we need to position the elbow control correctly so the arm does now pop when switching between FK and IK. To do this, select in this order: l_upperArmDrive_IK_jnt, l_lowerArmDrive_IK_jnt, l_armEndDrive_IK_jnt and then l_elbow_ctrl_offset. Go Constrain > Point (Options), make sure Maintain Offset it turned off and hit Apply. Now select l_lowerArmDrive_IK_jnt, ctrl-select l_elbow_ctrl_offset in the Outliner and go Constrain > Aim. Now that the elbow control is correctly positioned, delete the 2 constraint nodes that live under l_elbow_ctrl_offset. Then, make sure the Translate tool is set to Local and drag the l_elbow_ctrl_offset out slightly along the Z-axis. Lastly, select l_elbow_ctrl and Ctrl+select l_arm_IK in the Outliner or Shift+select it in the viewport and go Constrain > Pole Vector. You can now translate the l_elbow_ctrl to control the twisting of the arm.

Creating an elbow control to twist the arm and aligning it correctly

Cleaning up

Let's start by cleaning up the Outliner. First select l_upperArm_FK_jnt, l_upperArm_IK_jnt, l_upperArmDrive_IK_jnt and parent them under l_shoulder_jnt. Next parent l_shoulder_ctrl_offset under chest_IK_ctrl. Now, in this order, select l_shoulder_ctrl, l_shoulder_jnt and go Constrain > Point. This will allow the arm to follow the torso correctly. Now, select both l_arm_IK_ctrl_offset and l_elbow_ctrl_offset and hit Ctrl+G. Rename the new group l_arm_IK_ctrl_grp. Select l_Arm_IK, l_shoulder_jnt and hit Ctrl+G. Rename that new group l_arm_rig_grp.

Let's now mirror the arm joint chain to the other side. Select l_shoulder_jnt and go Skeleton > Mirror Joint (Options). Set the Mirror across to YZ and the Mirror function to Behaviour. Pop an l_ for Search for and an r_ for Replace with. This will rename the joints for us correctly. Hit Mirror and we should now have the joints in place for the right arm. Go through and delete all the constraint nodes and the geometry that have come along with the mirroring and rebuild the rig for the right arm.

Mirroring the joints for the right arm

The last thing to do is to lock and hide some of the attributes from the Channel Box so the animator cannot set keys on them. First select l_clavicle_ctrl, l_shoulder_ctrl, l_scapula_ctrl, l_upperArm_FK_ctrl and l_lowerArm_FK_ctrl. In the Channel Box, highlight all the translate and the scale channels, hold down the RMB and go Lock and Hide Selected. Then select l_arm_IK_ctrl and lock and hide the rotate and scale channels.

Next time, we'll create the rig for the hand and the fingers.

Make sure to lock and hide any attributes you wish the animator not to key

Top Tip: Blend colors node

So far, we've used orient constraints to switch between FK and IK mode. This is just one of many ways to create such a result. Another method is to use the Blend Colors node which you will find in the HyperShade, under Create > Color Utilities. With this node, you could plug the rotate attributes from the IK and FK joints into the Color 1 and Color 2 parameters on the Blend Colors node. The output from the Blend Colors node could then be plugged into the rotate attributes for the joints that will drive the mesh. The Blender attribute on the Blend Colors node will then allow you to dictate which joint chain (FK or IK) is in control and this could then be driven through a Set Driven Key.

Using a Blend Colors node to handle the blending between the FK and IK modes

Related links
Jahirul's previous rigging tutorials can be found here:
Maya rigging: Introduction to rigging
Maya rigging: Introduction to rigging a human torso
Maya rigging: Introduction to rigging the neck and the head
Check out Jahirul's site

To see more by Jahirul Amin, check out Beginner's Guide to Character Creation in Maya
and 3ds Max Projects

< previous page

1 | 2 | 3 | 4
Related Tutorials

Maya rigging: Introduction to rigging a human torso

by Jahirul Amin
published on 2014-02-10

Keywords: Rigging, Maya, Body, Torso, Animation

rating star fullrating star fullrating star fullrating star fullrating star half (34)
Comments 3 Views 140727

Maya rigging: Introduction to rigging

by Jahirul Amin
published on 2014-02-03

Keywords: Maya, rigging, animation, character, vehicle

rating star fullrating star fullrating star fullrating star fullrating star half (44)
Comments 3 Views 114537

Model legs in Maya

by Jahirul Amin
published on 2013-09-06

Keywords: legs, human, body, jahirul amin,

rating star fullrating star fullrating star fullrating star fullrating star half (32)
Comments 0 Views 177588

Maya rigging - Corrective Blendshapes

by Jahirul Amin
published on 2014-06-17

Keywords: Maya, Rigging, Animation, Blend Shapes

rating star fullrating star fullrating star fullrating star fullrating star half (17)
Comments 3 Views 76085
Readers Comments (Newest on Top)
Jahirul Amin on Tue, 19 September 2017 10:43pm
Hi Peter, It's been a while since I wrote this but hopefully this helps: For the Orient Joint Options (Creating the Joints), for the clavicle, I am using the following: Primary Axis to Y, the Secondary Axis to X and the Secondary Axis World Orientation to X (the first image). And then for the scapula joints, I am using the following settings: Primary Axis is set to Y, Secondary Axis is set to Z and Secondary Axis World Orientation is set to X (+) (the third image). So yes, the instructions and the screenshots are different as that was the behaviour I was after in those areas. Regarding the parent/orient constraint for the controls (for this step: Creating FK Controls), I would set it to just orient as you won't need translate for FX (which is what the parent constraint would give you). Hopefully that helps - if not, let me know or send me a scene file and I can take a look. Thanks J
Peter on Tue, 19 September 2017 4:44am
Is it supposed to be the X and Y or X and Z. The instructions and the screenshots are different.
Peter on Sat, 16 September 2017 4:30am
Is the constraint supposed to be Parent or Orient. The provided script is set to parent but you say to change it from Orient.
Andrew on Tue, 11 March 2014 1:05am
Very much loving this tutorial series. Can we expect to see a section devoted to integrating the system with the HIK once the setup's done?
Dan Willers on Mon, 03 March 2014 2:00pm
cool stuff dude!
Add Your Comment..