Lesson 13 Rigging

Posted on Posted in AutoDesk Maya, Foundation 2008, Tutorials

Rig Hierarchy

Your Outliner should be cleaned and organized. All your elements should be under on master node, which makes placement of your character easy in different scenes.

  1. Open your last scene.
    • – 032812_13-Rigging_01.ma
  2. Geometry Group
    • – Select all the bound geometry in your scene.
    • Note: It might be easier to select the geometry from the Outliner.
    • – Press CTRL + G to group it together.
    • – Rename group to geo.
  3. Create a Master Node
    • – Change your view to top view.
    • – Create an EP Curve: ANIMATION || Create > EP Curve >
      • EP Curve Options:
      • – Change the Curve Degree: 1 Linear;
      • – Click [CLOSE];
    • – Hold down “x” and draw four arrows shape as indicated;
    • – Hit [ENTER] to complete the curve.
    • – Rename the curve master.
  4. Hierarchy
    • – Switch view to Persp/Outliner. STAGE || Panels > Saved Layouts > Persp/Outliner.
    • – In the Outliner, select all the character set-up nodes and Parent them to the master node. Parent not Constrain Parent.
    • General || Edit > Parent
    • (Note: Do Not Parent the bound geometry or the geometry group to the master node. There should only be two groups in the Outliner: geo and master node)
  5. Node Names
    • – Make sure all the node names are named correctly. Best practice is to have a unique name for each item.
  6. Visibility of Layers
    • – In the Layer Editor, create a new layer and name it setupLayer.
    • – Select master node in the perspective view, them RMB on the setupLayer and click on Add New Selected Objects.
    • (Note: All the character rig nodes can now be hidden by hiding the setupLayer.)
    • – Create a new layer and name it geoLayer.
    • – Select the geo node in perspective then RMB over geoLayer and select Add Selected Objects.

 

Selection Sets

Selection Sets simplifies the process of selecting multiple objects. In this setup, it would be great to be able to select the spine and neck joints at once in order to be able to bend the character’s back easily.

  1. Select the Spine and Neck
    • – Select the spine, then SHFT + SELECT spine1, neck, neck1 and head joint.
  2. Create a Set
    • GENERAL || Create > Sets > Quick Select Set
      • In the window:
      • – Name it spineSet.
      • – Click [OK]
      • (If you scroll down the Outliner, there will be a set called spineSet)
  3. Use The Selection Set
    • – Select spineSet in the Outliner.
    • – RMB over spineSet and select Select Set Members (in pop-up menu).
    • (Note: all the objects are selected)
    • – Press “e” to access the rotate tool and test out your joints by rotating them together.
    • Note: If you notice some joints are not rotating correctly, it’s probably because the joint’s local rotation axes are not aligned correctly.
  4. Fix Joint Local Rotation Axis
    • – Switch to Component Mode
    • – Display Local Rotation Axes: General || Display > Transform Display > Local Rotation Axes
    • – In the Component Selection Bar, turn off the points and any other buttons selected. RMB over the “?” and check mark Local Rotation Axes.
    • – Select your local rotation axes and modify their alignment.
  5. Edit a Selection Set
    • It’s best if the head did not rotate with the other joints so lets remove the head from the selection set.
    • – Select Sets: GENERAL || Window > Relationship Editors > Sets.
      • Relationship Editors/Sets Window Options:
      • – On the left side: Click on spineSet to highlight it.
      • – On the right side: you’ll notice the objects in the spineSet are highlighted as well. Click “+” sign next to spineSet to see the set.
      • On the left side, you can add or remove items of your selection set by highlighting the items.
  6. Save
    • – 033012_13-Rigging_01.ma

 

Custom Attributes

Some attributes on the rig are not easy to access. Place attributes on strategic nodes for easy access. Since the arms and leg IK handles use custom setups, it’s a good idea to place useful IK attributes on the hand manipulator and reverse foot bones.

  1. Add new Attribute
    • Select the following items. SHFT + SELECT. lHandManip, the rHandManip, the lHeelControl, and the rHeelControl
    • – While the items are selected, GENERAL || Modify > Add Attribute
      • Attribute Window:
      • Long Name: Twist;
      • Data Type: Float;
      • Default: 0;
      • – Click [ADD];
      • (this will add an attribute to the nodes while keeping the window open)
      • – Add another attribute
      • Long Name: ikBlend;
      • Data Type: Integer;
      • Default: 0;
      • – Click [OK];
  2. Connect the New Attributes
    • – Select General || Window > General Editors > Connection Editor.
    • – Select lHandManip
    • – Connection Editor: Click [RELOAD LEFT]
    • – Scroll down and highlight Twist.
    • – Select lArmIk.
    • – Connection Editor: Click on [RELOAD RIGHT]
    • – Scroll down and highlight Twist.
    • (You just connected the twist attribute of the hand to the left armIK handle twist attribute)
    • – Highlight the ikBlend attribute on the left side of the editor
    • – Highlight the ikBlend attribute on the right side of the editor
    • (ikBlend attribute of the handManip is now connected the left armIK handle ikBlend attribute)
    • Note: The “ikBlend” attribute must be set to 1 in the Channel Box in order to see the effect of the HandManip on the body.
  3. Repeat
    • – Repeat the previous step to the rest.. rHandManip, the lHeelControl, and the rHeelControl.
    • – Close the connection editor.
  4. Hide the IK Handles
    • Since the manipulators(ie; rHandManip, lHeelControl, etc.) are connected to the IK handles, you can hide them from view.
    • – Select the lArmlk, rArmlk, lLegIk and rLegIk.
    • – Set the Visibility attribute to “0” to hide them.
    • – Highlight the “Visibility” attribute name.
    • – RMB in the Channel Box > select Lock Selected.
    • (Doing so will prevent the IK handles from being displayed if the user goes to GENERAL || Display > Show > All)

Selection Handles

There are several nodes you need to select for animating, but will find them difficult to select. This is where the selection handle comes to play.

  1. Show the Selection Handles
    • – Select lHeelControl, rHeelControl and the pelvis joints
    • – Select GENERAL || Display > Transform Display > Selection Handles
    • – Clear the current selection.
    • Notice: Crosshairs should appear by the selected items.
  2. Move Selection Handles
    • – Switch to Component mode.
    • – Make sure the Selection Mask is the only one enabled.
    • – CLICK + DRAG a selection box over the entire character in the viewport.
    • – Select only the Selection Handles for lHeelControl, rHeelControl, and pelvis.
    • – Select the translate tool.
    • – Translate the selection back on the z-axis, until it is out of the geometry.
    • – Go back to Object Mode.
  3. Save
    • – 040112_13-Rigging_01.ma

Eye Set-up

You will create an aim constrainton the eyes which will force an object to aim at another object. You will also create an attribute for the blinking.

  1. Look-At Locator
    • Locator will be used to specify a point where the eyes will be looking.
    • – Select GENERAL || Create > Locator
    • – Rename it lookAt
    • – Snap the locator to the head joint
    • – Move the Locator in front of the penguin about 10 units on the z-axis.
    • – Parent the lookAt locator to the Master node. Select the lookAt and SHFT + SELECT the master in the Outliner and Press P.
  2. Freeze Transformations
    • In order to be able to easily place the lookAt locator at it’s default position you should freeze transformations.
    • – Select the lookAt locator.
    • GENERAL || Modify > Freeze Transformations
  3. Aim Constraint
    • – Select lookAt then from the Outliner, CTRL + SELECT the lEye joint from the Outliner.
    • Note: You might have to expand the hierarchy to each the node.
    • – Select ANIMATION || Constrain > Aim >
      • Aim Options Window:
      • Maintain Offeset: On
      • – Click [ADD]
    • – Repeat for the rEye joint.
  4. Experiment with lookAt
    • – Select the lookAt locator and move it around to see how the eyeballs react.
  5. Eye Blink Attribute
    • Add a blink attribute to make it easy to blink the eyeballs.
    • – Select the lookAt and select ANIMATION || Modify > Add Attribute.
      • Attribute Window:
      • LongName: blink;
      • Data Type: Float;
      • Minimum: 0;
      • Max: 2;
      • Default: 1;
      • Click [OK];
  6. Set the Driven Keys for the Eye Blink
    • – Select ANIMATION || Animate > Set Driven Key > Set…
    • – Load lookAt node as the Driver : CLick [LOAD DRIVER] and select the blink attribute.
    • – Select the lEyeLid and highlight the makeNurbsSphere in the Channel Box.
    • – Click on [LOAD DRIVEN]
  7. Test The Eye Blink
    • – Test the blink attribute with the virtual slider. MMB + CLICK DRAG on the stage with blink in Channel Box selected.

 

Jiggle Deformer

Makes vertices jiggle when the geometry is moving. Use a jiggle deformer on the belly of the penguin.

  1. Paint Selection Tool
    • – Select the body geometry.
    • – DBL + CLICK on the Paint Selection Tool in the toolbox.
    • – Paint on the body geometry to easily select the belly vertices.
    • Note: Use the Unselect paint operation to select unwanted vertices.
  2. Create A Jiggle Deformer
    • – Select ANIMATION || Create Deformers > Jiggle Deformer >
      • Jiggle Deformer Options:
      • Stiffness: 0.2;
      • – Damping: 0.2;
      • – Ignore Transform: On;
      • – Click [CREATE];
      • Note: The jiggle1 deformer will be added to penguin’s input history in the Channel Box.
  3. Smooth The Jiggle Influence
    • With the default value, all the vertices are FULLY affected by the jiggle deformer. It’s is best to apply a gradient to smooth the jiggle’s weight.
    • – Go into Object mode: Press F8. and select the body geometry.
    • – Select ANIMATION || Edit Deformers > Paint Jiggle Weights Tool >
      • Paint Jiggle Weights Tool Options:
      • Paint Attributes: Smooth;
      • – Click on Paint Attributes: [FLOOD] several times to get the following.
      • – Close the window.
  4. Test The Jiggle Deformer
    • – Keyframe a simple animation in order to see the jiggle. The attributes for the jiggle deformer can be found in the Channel Box when the body is selected.
    • NOTE: Make sure to set your playback speed to play everyframe when playing a scene with dynamics. Doing so will display an accurate representation of the final effect.
  5. Save
    • – 040412_13-Rigging_05.ma

Lock and Hide Nodes And Attributes

Many character nodes and attributes in your rig should not be animated or changed. It’s recommended that you double check if the animator needs them or not so you can hide and lock them. The Channel Control Window allows you to quickly set which attributes are displayed in the Channel Box and which ones are locked.

  1. Lock Geometry Units
    • Since all the geometry is bound to the skeleton, it must not be moved. All the geometry attributes should therefore be locked.
    • – Select ANIMATION || Window > Hypergraph: Hierarchy.
    • – Make sure all the nodes are visible in the Hypergraph by enabling Hidden Nodes. Hypergraph: Hierarchy window || Options > Display > Hidden Nodes > On.
    • – Select geo group.
    • – Select Hierarchy: GENERAL || Edit > Select Hierarchy
    • result:
    • – Channel Box: highlight Translate, Rotate, Scale attributes.
    • Channel Box || RMB > Lock and Hide Selected.
  2. Channel Control Editor
    • ANIMATION || Window > General Editors > Channel Control
    • NOTE:Under the keyable tab, all the keyable attributes displayed in the Channel Box are displayed. If you highlight attributes and click [MOVE >>], the selected will move to Nonkeyable Hidden.
    • NOTE: Only the Visibility attribute is visible in the Channel Box.
    • This works the same way for the Locked tab, by moving Locked attributes to the Non-Locked column.
  3. Hide End Joints
    • End Joints are usually not animated.
    • – Select all the end joints on your skeleton, except the eye joints.
    • – Set their Visibility attributes to Off.
    • – Lock and hide all the end joints on your skeleton.
    • An end joint is the last joint in a joint chain. They are usually created only for visual reference and often never used.
    • NOTE: For selecting end joints. GENERAL || Edit > Select All By Type > Joints. Press the down arrow repeatedly until all the end joints are selected. NOTE: This works but the Visibility attribute may not appear in the Channel Control Window. It did appear after selecting them individually. The lAnkleControl and rAnkleControl were selected in the group.. Not sure if this was supposed to be selected as part of the skeleton.
  4. Lock Joints
    • Joints should rotate, but should not be translated or scaled. There are exceptions, such as joint roots, that usually need to be able to translate.
    • Lock and Hide the Translate, Scale and Visibility attributes for all the joints in the scene, except for the pelvis, lHeelControl and rHeelControl, which require translation.
    • NOTE: Try using GENERAL || Edit > Select All By Type > Joints
    • Lock and Hide the Scale and Visibility attributes for the pelvis, lHeelControl and rHeelControl.
  5. Rest of The Setup
    • Spend some time checking each node in your character rig hierarchy to lock and hide unwanted attributes or nodes. When you don’t know what an attribute does, you should set it to non-keyable, so it doesn’t appear in the Channel Box. This will prevent it from being keyframed accidentally.
  6. Master Scale
    • Make sure to set the Master’s scaling attributes to non-keyable, but do not lock them. By doing so you can be sure no keyframes will be made on the global scaling of the character, but you’ll still be able to change the character’s scaling to fit in it’s environment.
  7. Save
    • 040612_13-Rigging_01.ma

 

High Resolution Model

When animating it is a good idea of having the choice of displaying either a high resolution or low resolution model. In this case your penguin is already quite low and its a good idea to have a hiRes version to see the final result of your animation.

Use a polygonal smooth node and connect it to a new attribute on the character’s master.

  1. Smooth Polygons
    • – Select the body geometry.
    • – Select ANIMATION || Mesh > Smooth.
  2. Smooth Attribute
    • – Select the Master node.
    • – Select GENERAL || Modify > Add Attribute
      • Add Attribute Window:
      • Long Name: Smooth;
      • Data Type: Integer;
      • Minimum: 0;
      • Maximum: 2;
      • Default: 0;
      • – Click [OK];
    • – Using the Connection Editor, connect the new Smooth attribute to polySmoothFace1’s Divisions attribute;
    • – Open the Connection Editor: GENERAL || General Editors > Connection Editor.
    • – Select the Master node.
    • – Click on RELOAD LEFT in the Connection Editor to load the attributes for the master.
    • – Highlight the Smooth attribute in the column.
    • – Select the body geometry on the stage.
    • – In the Channel Box: Select polySmoothFace1.
    • – Click on RELOAD RIGHT in the Connection Editor to load the attributes.
    • – Highlight the Divisions attribute in the column.
    • – Select the master node.
    • – In the Channel Box: Select the Smooth attribute.
    • – Test the attribute.
    • – Save 040612_13-Rigging_03.ma

Creating Character Sets

In the next lesson, you’ll use keyframing techniques to make the penguin walk. Organize the animation channels needed for keyframing by creating character sets. The sets  let you collect attributes into a single node that can then be efficiently keyed and edited as a group.

  1. Create a Main Character Node
    • – Select the master node.
    • – Select ANIMATION || Character > Create Character Set >
      • Create Character Set Options:
      • – Name: Penguin;
      • – Hierarchy below selected node: ON;
      • – All keyable: ON
      • – Click [CHARACTER SET];
      • Note: This character is now active and visible next to Range Slider. It’s created with all the keyframeable attributes for the entire master hierarchy.
  2. Remove Unnecessary Attributes From the Character Set
    • – Select the penguin character set from the Outliner.
    • All the character attributes are listed in the Channel Box.
    • Note: Some attributes in the Channel Box are colored. These are connected, being driven by the constraints. They are not needed.
    • – Highlight all the colored attributes: CTRL  + CLICK all the colored attributes
    • Remove from Character Set: ANIMATION || Character >Remove from Character Set.
  3. Save
    • – 040612_13-Rigging_04.ma

 Conclusion

  • – Created a character rig simpler for an animator to use and virtually unbreakable.
  • – Created an attribute to set the resolution of the model.