CSE 464 - Character Pre-Production for 3D Animation

Assignment #5: Animation Testing

Start from the finished gray model scene from the last assignment.


Part 1: Skin Weighting

Save your file as "assignment5_skinning" file type .ma

  1. Prepare the gray model for skinning
    1. Select the mesh
    2. Freeze Transformations, Modify → Freeze Transformations
    3. Delete History, select the mesh, Edit → Delete All By Type → History
    4. Rename the model "gray_model"
    5. Delete any unused nodes in the scene using the Outliner or Hypergraph

  2. Apply Smooth Bind
    1. Select the bind joints
      • Select center_root_bind_joint
      • Select Hierarchy, Edit → Select Hierarchy
      • Deselect the end null joints.  Use Ctrl-click to deselect them in the Outliner or Hypergraph
    2. Shift-select the gray model
    3. Go to the smooth bind options:  Skin → Bind Skin → Smooth Bind [options]
    4. Set the options to match the screenshot and press Apply



  3. Paint Skin Weights
    Start with the shoulder, then repeat for the rest of the body

    1. Set keyframes on the shoulder joint to test the range of motion
      • Select right_upperarm_bind_joint and set a keyframe in the bind pose on the first frame.
      • Move the time slider forward to frame 10.  Rotate the shoulder up and set another keyframe.
      • Move the time slider forward to frame 20.  Rotate the shoulder backward and set another keyframe.
      • Scroll the time slider while painting weights to test the skin deformations in different poses.
    2. Paint the skin weights so the bulge on the inner torso becomes flat
      • Right-click on the mesh and choose Paint Skin Weights Tool
      • Right-click over the chest joint and choose Select Influence
      • Set your Paint Skin Weights tool options as follows:
      • [Paint operation = Add, Opacity ≈ 0.1, Use Color Ramp = False]



    3. Use the brush on the mesh to paint the chest area to not be influenced by the shoulder.


      Before


      After


      Repeat this step for the rest of the body until the model looks good when the skeleton is animated.

    4. Delete all keyframes when finished testing skin weighting.
      • Move the time slider back to the first frame with the model in the bind pose
      • Edit → Delete All by Type → Channels
    Tip: When you're done with one side you can mirror the skin weights over to the other side
    • Skin → Edit Smooth Skin → Mirror Skin Weights
    • [Mirror across =YZ, If you worked on the right side of the character uncheck "Postive to negative"]
  4. Save your file
    • DO NOT DELETE HISTORY!
      It will remove the skinCluster node added to your gray model and thus all of the weights.
    • assignment5_skinning.ma

Part 2: Applying the Control Rig

Save your file as "assignment5_control_rig" file type .ma

  1. Add IK to the right leg
    1. Activate the IK Handle tool
      • (Animation Submenu) Skeleton → IK Handle Tool [options]
      • In the option window for the IK Handle tool, set Current Solver to "ikRPsolver"
    2. Click on right_upperleg_bind_joint
    3. Then, click on right_foot_bind_joint
    4. Notice that the IK handle is now created
      • Name the IK handle "right_foot_ik"
      • You can select and translate the IK handle to test it out

  2. Create the right knee pole vector control
    1. Create a locator, Create → Locator
    2. Name the locator "right_knee_pv_ctrl"
    3. In the Channel Box, set Local Scale X, ,Y and Z to 10
    4. Position the locator in front of the right knee
      • Parent the locator to the knee
        • Select right_knee_pv_ctrl, shift-select right_lowerleg_bind_joint, press "p"
      • Set translate and rotate on the locator to zero in the Channel Box
      • Move the locator forward in local space
        • Double-click the Move Tool button in the toolbox to bring up the Move Tool options
        • Set Move Axis to "Local"
        • Move the locator out to match the position in the screenshot
        • Unparent the knee pole vector control.  Select right_knee_pv_ctrl, press "shift-p"
    5. Create the pole vector constraint
      • Select right_knee_pv_ctrl
      • Shift-select the right_foot_ik
      • (Animation submenu) Constrain → Pole Vector

  3. Create the right foot control
    1. Create a NURBS circle, Create → NURBS Primitives → Circle
    2. Name it "right_foot_ctrl"
    3. Align it to the foot joint
      • Parent it to the foot joint: select right_foot_ctrl, shift-select right_foot_bind_joint, press "p"
      • Zero out translate and rotate in the Channel Box
      • Unparent the foot control: select right_foot_ctrl, press "shift-p"
    4. Scale the foot control up so it can be easily selected
    5. Freeze Transformations on the foot control
      • Select right_foot_ctrl
      • Modify → Freeze Transformations
    6. Add a point constraint from the foot control to the IK handle
      • Select right_foot_ctrl
      • Shift-select right_foot_ik
      • Constrain → Point Constraint
    7. Add an orient constraint from the foot control to the foot joint
      • Select right_foot_ctrl
      • Shift-select right_foot_bind_joint
      • Constrain → Orient Constraint (Options)
      • In the Orient Constraint options box make sure "Maintain offset" is checked, then hit apply.
    8. Lock rotate channels on the right foot joint
      • Select right_foot_bind_joint
      • In the Channel Box, highlight the names of the attributes, Rotate X, Y, and Z
      • Right-click the highlighted attribute names
      • Click "Lock Selected"

  4. Repeat steps 1-3 for the left leg

  5. Add the rig controls to a layer
    1. Select right and left foot and knee controls
    2. In the Layer Editor, go to Layers → Create Layer from Selected
    3. Double-click the new layer to open the Layer Editor window
      • Name the layer "rig_ctrls_lyr"
      • Choose yellow for the layer color



  6. Group the rig controls in the Outliner
    1. Create the top level rig group
      • With nothing selected, press “Ctrl-g” to create an empty group null node
      • Name the empty group “<character_name>_all” (for example, “sam_all”)
    2. Create the rig controls group
      • Select right and left foot and knee controls and the skeleton root joint
      • Press "Ctrl-g"
      • Name the group "ctrls_grp"
      • Parent ctrls_grp to the all group
        • Select ctrls_grp
        • Shift-select the all group
        • Press “p”
    3. Create the “do not touch” group
      • Select right_foot_ik
      • Shift-select left_leg_ik
      • Press “Ctrl-g”
      • Name the group “do_not_touch”
      • Parent do_not_touch to the all group
        • Select do_not_touch
        • Shift-select the all group
        • Press “p”
    4. Create the skins group
      • Select the gray model mesh (make sure the mesh has a name like “gray_model”)
      • Press “Ctrl-g”
      • Name the group “skins_grp”
      • Parent skins_grp to the all group
        • Select skins_grp
        • Shift-select the all group
        • Press “p”

  7. Create a Quick Select Set for your rig controls
    1. Select center_root_bind_joint
    2. Select Hierarchy, Edit → Select Hierarchy
    3. Shift-select the foot and knee controls (Note: If you're doing this through the Outliner, Ctrl-select instead. Shift-select will just select all of the garbage inbetween.)
    4. Create a Quick Select Set, Create → Sets → Quick Select Set
      • In the pop-up dialog box, enter the name <character_name>_rig_controls. (for example, “sam_rig_controls”)
      • Tip: You can click "Add To Shelf" to create a button on the shelf to select everything in the quick select set.

  8. Clean up the control rig scene
    1. Delete any unused nodes from the scene hierarchy in the Outliner.  
    2. At this point, your Outliner should look similar to this.  
      • Note, DAG sibling order is not important.  This is the order in which nodes appear relative to their parent.  As long as the parent is correct, that’s all we care about.





      Collapsed Outliner
      Expanded Outliner

  9. Save your file
    • assignment5_control_rig.ma


Part 3: Animation Testing

Save as "assignment5_animation_test" file type .ma

In this section we will be testing out the grey model by creating a simple jump animation.  There are 5 poses needed plus a neutral poses as seen in the following planning sheets.

Example planning sheets for jump animation:



  1. Create the neutral pose
    1. Move the time slider to the first frame
    2. Move the foot and knee rig controls into position
    3. Translate the center_root_bind_joint into position
    4. Rotate joints in the skeleton into position
    5. When the pose is finished, set a keyframe:
      • Right-click the Quick Select Set in the Outliner, choose Select Set Members
      • Press “s” on the keyboard to set a keyframe

  2. Create the anticipation pose
    1. Move the time slider to frame 10
    2. Repeat the steps above to pose and keyframe the rig

  3. Create the rest of the jump poses
    • Repeat the steps above and set a keyframe on every tenth frame

  4. Save your file
    • assignment5_animation_test.ma

Turning in your files

Like last time you will be turning your files into Collect-It on catalyst. For this assignment, turn in the following:

  1. assignment5_skinning.ma (Part 1)
  2. assignment5_control_rig.ma (Part 2)
  3. assignment5_animation_test.ma (Part 3)

Your assignment is due tomorrow, Friday 8/22 at 2:00 PM. Note that this is the FINAL cut-off time. No late work will be accepted after this. It is highly recommended that you finish your work tonight if possible.