Go to Madwomb.com

  MAYA RIGGING

  1. FK Skeleton and IK Limbs.
  2. Foot and Hand Controls.
  3. Body, Rotation, Spine and Face.
  4. Final Notes.


  PART 1 SOURCES:

MAYA CHARACTER RIGGING PART 1:
BASIC FK SET-UP and IK LIMBS:

TERMS and CONCEPTS:

Rigging is creating a system to manage animation. Character Rigging involves creating a skeleton for manipulating the mesh. Skeleton parts are linked together to create a hierarchy, where for example a wrist joint is linked to an elbow joint, which is linked to the shoulder. We call the wrist in this hierarchy the child of the elbow, and the elbow is the parent of the wrist joint. In this hierarchy the shoulder is the ultimate parent and the wrist is the ultimate child.

If we animate by rotating the shoulder to cause its children to move with it we are using the default Forward Kinematics (FK: good for arcs). If we set up Inverse Kinematics on this system (IK: good for precise positioning), then moving the wrist will cause its parents (elbow and shoulder) to move and re-orient.

Skinning is the process of connecting the mesh to the skeleton hierarchy. In Maya, we paint weights to manage how much of the mesh is controlled by each joint, literally how much "weight" joints have to influence the mesh.

Constraints allow us to add Controls to the rig that are not parented and therefore not skinned. Add Attributes to Controllers and use Set Driven Key to set specific animations or the Connection Editor to create 1-1 movement between controller attributes and joint transforms.

EXPECT to rig your first character a few times before you get it right.

[A] MESH PREP:

  • T-pose or arms slightly down. Fingers and Legs spread, all joints slightly bent.
  • At least 3 edge loops at each joint (elbows, knees, fingers), around eyes/mouth.
  • Center mesh in world, stand on ground plane. Place in layer, modify/Freeze Transforms.


[B] BASIC JOINT HIERARCHY (FK):
1) JOINT CREATION Animation module, menu Skeleton/Joint Tool
NOTE: To adjust Joint Size: menu Display/Animation/Joint Size
VIEW: Split 2-view with right=Viewport, left=Outliner. In the viewport menus Panels/ Orthographic/Side hit [5] and choose Shading/Xray Joints to see joints over the mesh. Joint Settings: Double Click Joint Tool, turn off Orient Joint to World, set Axis to X/Y/Z.

  • Make the LEFT LEG Hierarchy: In the Side view, create joints at the Hip, Knee (bend for IK), Ankle, Ball, and Toe (hit [Enter] or Right-click to end, select any extra bones to delete). Adjust: hold [d] to move without affecting the rest of the hierarchy. In Panels/Orthographic/Front view, select the top Hip joint and move the leg hierarchy to center in the left leg mesh.

  • Make the Root/SPINE/Neck/Head Hierarchy: In Panels/Orthographic/Side view create 8 joints: 1 Root where the spine meets the pelvis, 2 in lower Spine, 1 mid spine, 1 Chest, 1 Neck base, 1 Head at ear, 1 head top for linking a hat. Jaw: Hit upper arrow key (back up hierarchy) and create the 2 joint for the jaw. Pelvis: Add a pelvis joint to the bottom, parent to the root.

  • Make the LEFT ARM Hierarchy: In the Front view draw 4 joints directly for the arm (one for the clavicle, one for the shoulder, one for the elbow, one for the wrist). In Top view select the clavicle and center the arm, then hit [d] and move back the elbow for a bend so IK will work.

  • Make the LEFT HAND Hierarchy: In the Top view, draw the 6 joints for: Wrist2, Hand (located in the middle of the hand) and the middle finger’s 3 knuckles and a tip (fingers need end "tip" joint to properly orient). In the Front view, rotate/move these joints to fit the mesh. Select the Hand joint, hit [shift]+[p] to unparent, [Ctrl]+[d] to duplicate for the other fingers, and rotate each finger to fit the mesh. For the thumb, the starting joint should be far back, where the thumb actually starts ("behind" the Hand joint). Rotate for the thumb angle. Delete extra "hand" joints, parent all fingers to the original Hand and parent the Hand back to Wrist2.

2) PARENTING: Now that half the rig is prepared, parent limbs to the core. Select top of the leg hierarchy, then [shift]+select the pelvis joint (select child first, then the intended parent). Hit [p] to parent, and note the new connecting triangle pointed toward the leg. Do the same with the arm: select the end shoulder joint, [shift]+select the chest joint, hit [p] to parent (note: [shift]+[p] to unparent).

3) NAMING: Name joints for easier finding in the Outliner and before mirroring limbs. Select each joint in viewport and change in Channel Box or doubleClick in Outliner: Root (center of mass, base of spine), hip, knee, ankle, foot, toe, spine01-03, chest, neck, head, head_top, clavicle, shoulder, elbow, wrist, hand, fingerMid01-04, etc. Add the L_ prefix to the left limbs: Select the hip or clavicle, go to Modify/Prefix Hierarchy Names.

4) MIRRORING: In the Perspective view, choose menu Skelton/ Mirror Joint option box. Choose YZ to mirror across the body center axis. In the search and replace fields type L_ and R_ (replace Left with Right). Select the L_hip joint and hit [Apply]. Select the L_clavicle joint and hit [Apply] again. Will not mirror IK handles—apply by hand.

[C] JOINT ORIENTATION:
By default, the joints will be inconsistent in their individual, local rotation axes. This should be fixed before applying any controls (IK handles, constrains, etc) to avoid animation problems such as Gimbal Lock.
1) View Local Rotation Axes: In the second-to-topmost bar find the Selection Mode Icons. Switch from the default Object Selection Mode to Component Selection Mode (click on the grid-of-four-squares icon for "Select by Component Type"), and then click on the question mark icon "Select Miscellaneous Components" to see all the local rotation axis. Ideally, the green rotation line should be down the joint axes-- down the bones.

2) Orient Joints Tool: To get mostly consistent rotation axis on all of these joints, return to Object Selection Mode, select the root to select all joints, and open Skeleton/Orient Joint. Set axis of Primary-Secondary-SecondaryWorld to X-Y-Z, and hit [Apply]. Most joints (except for the toes, hip, rootm, and hands) will be in good shape.

3) Fix Joint Rotation by Hand in Component Mode: To fix these last joints, return to Component Selection Mode (with Question Mark on to see local rotation) and hand-rotate the joints in the front, side, or top Orthographic views until they line up.

[D] LIMB IK:
IK NOTES: RP = Rotate Plane. SC = Single Chain. Use RP for legs and arms, SC for foot parts.
Apply IK to Limbs: Choose Skeleton/IK Handle Tool option box and set the solver to RP solver (Rotation Plane). With this tool active, pick the "ultimate child" joint and then the "ultimate parent" joint of each limb to create an IK relationship (ankle-to-hip, wrist1-to-shoulder).

[E] SKINNING:
1) BINDING: Select the root joint, [shift]+select the mesh, Animation module Skin/Bind Skin/Smooth Bind option box. Turn max influences down to 3, and try a higher DropOff Rate for initial weighting, such as 9.

2) PAINT SKIN WEIGHTS: Set default keyframes on all controllers/joints at frame 1, turn on Auto Keyframe Toggle and set a new pose at frame 10 to see the skinning results. Adjust weights: choose Skin/Edit Smooth Skin/Paint Skin Weights Tool, select a joint by name in the list, choose opacity, and add (or subtract [Ctrl]) to the influence of that joint. White=more influence, black=less. Among the Painting Weights tool, consider using the Smooth tool for more blending.

NOTES:

  • The final goal is to have no Joints directly selected or animated; everything should be managed by Controls and Attributes on the Controls. All Controls need to have Freeze Transforms applied once Positioned/Oriented, BEFORE any Constrains are applied, and should have all unused attributes Locked and Hidden to avoid accidental keyframes.

  • Skeleton/Insert Joint tool: select joint hierarchy section at top, slide new joint down.

  • Skeleton/Orient Joint: after freezing transforms, re-orient joint to look toward children.

  • Add joints to Skin: select joints and mesh, choose Skin/Edit Smooth Skin/Add Influence

  • Avoid move tool on most joints, especially without [D], or joint orientation will get wacky.

  • To make an object non-renderable: select the object, in the Attribute Editor, under Render Stats uncheck everything.

  • The method of creating separate individual joints and parenting afterwards is only for leg and spine. Create foot, arm, and hand as chains with oriented joints for local rotation. For exporting to other programs, set consistent "bone" lengths (1) and radii (.5)



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Introduction to Maya Rigging:

1. FK / IK Skeleton Setup   |   2. Hand / Foot Controls   |   3. Body, Rotaton, Spine, and Face   |   4. Final Notes

This document researched and created using Autodesk Maya 2013