Example workflow: Non-destructive retargeting
 
 
 

This example workflow describes how you can use HumanIK and animation layers to non-destructively retarget animation from one character to another, then edit the retargeted animation without baking to see the result.

Overview

  1. Set up a source character.
  2. Set up a target character.
  3. Retarget from the source to the target character.
  4. Use animation layers to key on top of retargeted animation.)
  5. Change the retargeted animation using IK.

Set up a source character

For this example workflow, you will use one of the sample motion capture files available in the Visor window.

To set up a source character

  1. Open the Visor (Window > General Editors > Visor).
  2. In the Visor window, switch to the Mocap Examples tab.
  3. Import the dance1 example file. ( -click the file and select Import Maya File from the menu that appears.)
  4. Close the Visor window and zoom out (if necessary) until you can see the dance1 character in the viewport.
  5. Select the character’s skin and go to the bind pose. (Select Skin > Go To Bind Pose from the main menu bar.)

    The dance1 character moves to its bind pose at the center of the scene. For this character, the bind pose is a standard T-stance.

  6. Select Skeleton > HumanIK from the main menu bar to open the HumanIK window.
  7. On the Characterize tab, click New to create a new HIK character.

    This creates a new HIKCharacter node (called HIKCharacterNode1 by default) that you will use to define the structure of your character.

  8. In the Name field, rename HIKCharacter1 as DanceSource.
  9. In the Mapping List area, ensure the Base(Required) heading is expanded, then map the 15 required joints of your character by doing the following:
    • Select a joint in the scene.
    • Click Set next to the corresponding field in the Mapping List.

      For example, select your character’s hips joint, then click Set next to the Hips slot of the Mapping List. For the DanceSource character, map the root joint to the Hips slot.

      When you are finished, the Mapping List for the dance1 character is as follows:

      Base(Required) bone dance1 character joint
      Hips root
      LeftUpLeg l_thigh
      LeftLeg l_knee
      LeftFoot l_foot
      RightUpLeg r_thigh
      RightLeg r_knee
      RightFoot r_foot
      Spine spine1
      LeftArm l_shoulder
      LeftForeArm l_elbow
      LeftHand l_hand
      RightArm r_shoulder
      RightForeArm r_elbow
      RightHand r_hand
      Head head
    NoteFor this character, you do not need to map a Reference object.
    TipIf you have set up your own characters with joints named according to the FBIK or HIK naming conventions, you can click Auto-Set All from Selection button to have Maya automatically match your character’s joints to the joint names in the Mapping List. If you click Auto-Set for the DanceSource character, Maya matches only the head joint, as the head is the only joint with matching naming conventions.
  10. Click Characterize.

    A confirmation message displays in the output section of the Command Line.

    Now that you have mapped out the 15 base (required) joints, your character is defined. Mapping out your character with the Characterize tab ensures that Maya understands the structure of your character and can accurately retarget your character’s animation to other characters.

Related topics

Set up a target character

To set up the target character

  1. In the HumanIK window, switch to the Skeleton Generator tab.
  2. Click New to create a new HIK character and default skeleton.

    You can see the skeleton in the viewport, or switch to the Hypergraph look at the default naming conventions for the HIK joints. The new HIK character is called HIKCharacterNode2 by default. This character will be your target character.

  3. In the Name field, rename HIKCharacterNode2 as DanceTarget.
  4. Click Create Rig.

    This creates a default Control Rig for the character.

    Now you have a second HIK character set up, ready to receive retargeted animation.

Retarget from the source to the target character

To retarget from the source character to the target character

  1. In the HumanIK window, switch to the Character Pipe tab.
  2. In the Character menu, select the target character (DanceTarget).
  3. In the Retarget Input menu, select the source character (DanceSource).
  4. Turn on Create New Layer for Retarget Base and Create New Layer for Control Objects.

    This creates new animation layers to contain the retargeted animation and the Control Rig objects for the target character.

  5. Click Apply Retargeting.

    The target character snaps to the source character, and two new layers are added in the Animation Layer Editor. By default, the layers are named DanceTarget_RetargetBase and DanceTarget_ControlObjects.

  6. Playback the scene to view the retargeted animation applied to your target character.
NoteFor more information on animation layers in Maya, see What are animation layers? and Understanding layered animation.

Key on top of retargeted animation

When you retargeted animation in the previous steps, you also added the target character Control Rig objects to animation layers. This setup lets you immediately start to edit the retargeted animation using the layer.

To key on top of the retargeted animation

  1. To prepare the Control Rig for these steps, select the following effectors and set their Reach Translation value to 0 in the Channel Box.
    • DanceTarget_Ctrl_LeftAnkle
    • DanceTarget_Ctrl_RightAnkle
    • DanceTarget_Ctrl_LeftWrist
    • DanceTarget_Ctrl_RightWrist

    By default, Reach is turned on for all of these effectors, which can prevent you from achieving the poses you want in the following steps.

  2. Select the Hips effector of the DanceTarget Control Rig (DanceTarget_Ctrl_HipsEffector).
  3. With the DanceTarget_ControlObjects layer and DanceTarget_Ctrl_HipsEffector object selected, go to frame 32 and set a key.

    This is the frame where the character is just about to jump.

  4. Go to frame 40, where the character is at the height of the jump, and do the following:
    • Move the DanceTarget character higher on the Y-axis. (With the DanceTarget_Ctrl_HipsEffector object selected, use the Move tool to translate the whole character higher.)
    • Set a key.

      The key is automatically set on the JumpHeight layer.

  5. Go to frame 50, click in the Animation Layer Editor, and set a key.

    This sets the Hips effector translation value to zero, matching the source animation, and sets a key.

  6. Playback your animation.

    The DanceTarget character now jumps higher between frames 32 and 50.

Change the retargeted animation using IK

To adjust retargeted animation with IK effectors

  1. Go to frame 0, then select the DanceTarget character’s wrist effector (DanceTarget_Ctrl_LeftWristEffector).
  2. In the Channel Box, set the Reach Translation value to 1.

    Setting the Reach Translation to 1 sets the effector to use full IK solving.

  3. In the Set Key Options (Animate > Set Keys > ), turn off Set FullBodyIK Keys and click Apply.
  4. Adjust the position of the wrist effector, offsetting it slightly from the source character wrist, then set a key. When you playback the dance animation, the target character still follows the retargeted animation, and the wrist stays slightly offset from the source character.

    You can use similar steps, for example, if you find that discrepancies in size between your source and target characters cause the target character’s arm to penetrate its body during the retargeted animation. You can set the Reach Translation to 1, then key the arm effectors to create a slight offset between the source arm animation and the target character’s animation.

Related topics