CSE 464 - Character Pre-Production for 3D Animation

Assignment #2: Creating the Skeleton

Resources

  • Character lineup with construction lines and heights (click for a bigger image):

  • It is not required for this assignment, but if you want to install the CharacterDesign shelf in Maya, go to the Windows start menu, paste the following path into "Search files and programs", and hit enter:

    O:\unix\projects\instr\production1\install_capstone_shelves.py

    A window will pop up indicating that the capstone shelves have been installed. Now when you load Maya in the lab a series of shelves containing tools used by the animation capstone will automatically update (This class will only use the CharacterDesign shelf). Note that if your profile does not save you will have to repeat the above step each time you log in.

    The only tool currently available is the fader as shown in class. This allows you to select one or more mesh objects in Maya, like your image planes, and create a slider that will adjust the transparency.

Joint Placement Reference

      

Joint Tool - (Animation menu set) Skeleton → Joint Tool

Conventions for joint orientation

Axis

Orientation

Why

X

Points down toward the child

Maya auto-orients joints this way as a convention.  This minimizes gimbal lock problems when using the default rotate order.  However, there are a few special cases where joints in character rigs should be oriented differently.

Z

Primary axis of rotation

Using Z as the primary axis of rotation further reduces risk of gimbal lock. This helps IK work more reliably.

Y

Rotating the Y axis 90 degrees causes gimbal lock.  We try to minimize gimbal lock by orienting Y as the least used axis.

 

1. The Back

Click and draw the back joint chain using the Joint Tool.  Use the image for reference on where to place the joints.  Most characters will need four joints in the spine (excluding null joints).  Having four joints makes it possible to create an s-curve.  Note: the final deformation skeleton may end up having many more than four joints.

1a. Creating the back joint chain
  1. Switch to the side camera view
  2. Activate the joint tool - Skeleton → Joint Tool
  3. Start with the pelvis.  Place the pelvis joint slightly below where the belt would be.
  4. Next, place the spine 1 through 3 similar to where they are in the reference image.  There should be a slight curve to these joints, a relaxed posture.  Horizontally, they should be placed slightly more toward the back.
  5. Finally, place the end null joint directly above spine 3. Press "enter" when finished.
  6. In the Outliner, click the "+" next to center_spine_root_bind_joint to expand the hierarchy.
  7. Name the joints as shown in image



This step is optional for students who are new to Maya.

1b. Orienting the back joints

  1. Check for flipping on the Y axis
    • Turn on local rotation axes display for the back joints
      • Shift-select all of the back joints
      • Turn on Local Rotation Axes display
        • Display → Transform Display → Local Rotation Axes
      • The Y axis should be aiming in the same direction for all joints.  In this example, the third joint has it's Y axis pointing the opposite way, so it will need to be re-oriented.



  2. Re-orient the back joints to fix any flipping of the Y axis
    • Skeleton → Orient Joint (option window)



    • Select the joint that has the Y axis pointing the wrong way
    • With the settings shown above, click Apply.  Change the axis to negative or positive as needed.
    • Repeat this down the joint chain until all of the Y axes are pointing the same way.

  3. Orient the root joint orthogonal to world space.
    • Select center_spine_1_bind_joint and press "shift-p" to unparent it.
    • With with the center_root_bind_joint selected, press "ctrl-a" to bring up the Attribute Editor.
    • In the Joint Orient field, round off all values to multiples of 90.
      • In this example only the Y value needs to change from -6.116 to 0.
      •  
    • Parent the joint back into the hierarchy
      • Select center_spine_1_bind_joint
      • Shift-click center_spine_root_bind_joint to add it to the selection
      • Press "p"

  4. Orient spine 3 orthogonal to world space.
    • Select center_spine_3_bind_joint and press "shift-p" to unparent it.  
    • With the joint still selected, press "ctrl-a" to bring up the Attribute Editor.
    • In the Joint Orient field, round off all values to multiples of 90.  
    • Parent the joint back into the hierarchy
      • Select center_spine_3_bind_joint
      • Shift-click center_spine_2_bind_joint to add it to your selection
      • Press "p"

1c. Delete the temporary null joint

  1. Select temp_spine_null_joint
  2. Press the "delete" key on the keyboard


2. The Neck

Click and draw the neck joint chain using the Joint Tool.  Most characters need three neck joints (including the head, but not the end null joint) so that it can bend into a c-curve.

 

2a. Creating the neck joint chain

  1. Switch to the side view camera
  2. Activate the joint tool - Skeleton → Joint Tool
  3. Place the neck 1 joint slightly below the collar line.
  4. Place the neck 2 joint in the middle of the neck.  Horizontally, it should be slightly more toward the back of the neck.
  5. Place the head joint just below the ear where the vertebrae would join the skull.
  6. Place the head end null joint directly above the head and press "enter".
  7. Name the joints as shown in the image.

2b. Parent the neck to the back

  1. Select center_neck_1_bind_joint
  2. Shift-click center_spine_3_bind_joint to add it to your selection
  3. Press "p"

The skeleton should now look like this in the Outliner




This step is optional for students who are new to Maya.

2c. Orienting the neck joints

  1. Check for flipping on the Y axis
    • Shift select all joints in the neck chain.
    • Turn on Local Rotation Axes display
      • Display → Transform Display → Local Rotation Axes
    • Check to make sure the Y axis points in the same direction.

  2. Re-orient the neck joints to fix any flipping of the Y axis
    • (repeat the steps shown above for the back chain)

  3. Orient the head orthogonal to world space.
    • Select center_head_1_bind_joint and press "shift-p" to unparent it.  
    • With the joint still selected, press "ctrl-a" to bring up the Attribute Editor.
    • In the Joint Orient field, round off all values to multiples of 90.
    • Parent the joint back into the hierarchy.
      • Select center_head_1_bind_joint
      • Shift-click  center_neck_2_bind_joint to add it to your selection
      • Press "p"


3. The legs

Click and draw the leg joint chain using the Joint Tool.   Even if the reference image shows straight legs, add a bit of bend to the knee to indicate the direction it will bend.

3a. Creating the leg and toe joint chains

  1. Switch to the side view camera
  2. Activate the joint tool - Skeleton → Joint Tool
  3. Place the hip joint first.
  4. Place the knee and ankle joints.  (knee should be bent, not straight)
  5. Place the final foot null joint where the heel touches the ground.  Press "enter" when finished.
  6. Create a second joint chain for the toe.  Start by placing the right_ball_bind_joint.
  7. Place the foot end null joint and press "enter" when finished.
  8. Name the joints as shown in the image

3b. Orient the foot joint in world space

  1. Unparent the foot joint
    • Select the right_foot_bind_joint
    • Press "shift-p"
  2. With the foot joint selected, press "ctrl-a" to bring up the Attribute Editor.
  3. Zero out all of the joint orient values
  4. Parent the foot back to the knee
    • Select right_foot_bind_joint
    • Shift-select right_lowerleg_bind_joint
    • Press "p"
  5. Delete the temporary foot null joint
    • Select temp_null_joint
    • Press the "delete" key on the keyboard

3c. Parent the toe to the foot

  1. Select right_ball_bind_joint
  2. Shift-select right_foot_bind_joint
  3. Press "p"

The leg joint chain should now look like this



3d. Align the right leg in the front view

  1. Switch the the front camera view.
  2. Select right_upperleg_bind_joint.
  3. Press "w" to activate the Move Tool.
  4. Move the joint over on the X axis to align with the reference image.
  5. Press "e" to activate the Rotate Tool.
  6. Rotate the Y axis to align with the image.

3e. Parent the upper leg joint to the back

  1. Select right_upperleg_bind_joint
  2. Shift-select center_spine_root_joint
  3. Press "p"

3f. Mirror the right leg to the left side

  1. Skeleton → Mirror Joint (option window)
  2. Change the settings to match the screenshot below
    • Mirror across: YZ
    • Mirror function: Behavior
    • Search for: right_
    • Replace with: left_
  3. Select right_upperleg_bind_joint and press apply

 

4. The arms

Click and draw the arm joint chain using the Joint Tool.   Even if the reference image shows straight arms, add a bit of bend to the elbow to indicate the direction it will bend.

4a. Creating the arm joint chain

  1. Switch to side camera view
  2. Activate the Joint Tool - Skeleton → Joint Tool
  3. First, place the upperarm shoulder joint
  4. Next, place the lowerarm elbow joint (elbow should be bent, not straight)
  5. Place the hand joint
  6. Place the temp hand null joint and press “enter” when finished

4b. Align the arm joint chain in the front view

  1. Select right_upperarm_bind_joint
  2. Press “w” to activate the Move Tool
  3. Move the joint to align the character’s right arm
  4. Press “e” to activate the Rotate Tool
  5. Rotate the joint chain to align with the image

The arm skeleton should now look like this:

4c. Creating the clavicle joint

  1. Switch to front camera view
  2. Activate the joint tool - Skeleton → Joint Tool
  3. Click and draw the clavicle as shown in the image.  Press “enter” when finished.
  4. Name the clavicle joint right_clavicle_bind_joint



4d. Parent the clavicle to the chest

  1. Select right_clavicle_bind_joint
  2. Shift-select center_spine_3_bind_joint
  3. Press “p”

4e. Orient the clavicle joint relative to the chest

  1. Select right_clavicle_bind_joint
  2. Press “ctrl-a” to bring up the Attribute Editor
  3. Zero out all joint orient values

4f. Parent the arm to the clavicle

  1. Select right_upperarm_bind_joint
  2. Shift-select right_clavicle_bind_joint
  3. Press “p”

4g. Mirror the arm from right to left

  1. Skeleton → Mirror Joint (option window)
  2. Change the settings to match the screenshot below
    • Mirror across: XY
    • Mirror function: Behavior
    • Search for: right_
    • Replace with: left_
  3. Select right_clavicle_bind_joint and press apply

The finished skeleton should look similar to these screenshots:

End of Assignment 2.


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. front_view.png
  2. side_view.png
  3. assignment2.ma
    • Make sure to use Maya 2012
    • Turn in a Maya ASCII file, not Maya Binary

Your assignment is due Thursday 8/8 at 5:00 PM.

>> Assignment 2b from Tuesday's lab <<