Retargeting Rollout

When you map an animation from one rig or object onto another, use this rollout to establish retarget references between the incoming nodes in regards to their scale dependency. Retargeting means to scale the animation so it matches the objects onto which you are mapping the motion.

You need to retarget only when the size or proportions of the incoming model differ from the size or proportions of the current model.

Retargeting applies to any kind of animation, from matching fight choreographies, to changing a weather balloon's fly-through trajectory over hills and valleys. The down side of this is that essentially you have to set up the scaling relationships by hand; the good news is that the steps are fairly straightforward, and that once you have retargeted, the settings are reusable for all animation mapped between the same two sets of objects.

While retargeting is a general-purpose feature, it is especially useful for transferring animation from one character to another, when the characters are of different sizes, and possibly of different proportions (for example, a human model to a gorilla, or vice versa). You can transfer IK animation onto an FK rig, or vice versa. There are some rules of thumb when you work with mapping character animation:

Procedures

To retarget one character onto another:

    This procedure is not a detailed procedure, but an overall workflow. It assumes you have already saved the incoming character's animation, then loaded it onto the current character, as described in To use the Save Animation and Load Animation commands.

    Note: If the animation you are saving is unkeyed world-space animation (as opposed to IK or FK), turn off Animated Tracks when you save.
  1. On the Map Track To Track rollout, map the motion tracks of the incoming character's root to the current character's root.

    For example, if you are retargeting a Biped onto another, you would map the incoming Biped object's position and rotation tracks onto the current Biped.

  2. Map the rotation tracks of the incoming character's limbs onto the current character's limbs.

    There is one exception here: if a hand (for example) is going to use IK in the current scene, either don't map it at all, so you can animate it later, or if you are mapping from an FK model to an IK model, map the Exposed World Transform to transfer the incoming FK trajectories to current IK controls.

  3. Go to the Retargeting rollout.
  4. In the Scale Origin group, choose both the Incoming and Current root objects.

    If the characters are symmetrical and have the same proportions, you can now choose all the mapped tracks in the Retargetable Nodes list. If the characters are not symmetrical, or their proportions are different, then you need to take further steps.

  5. In the Derive Scale Between Chains group, choose the Start and End nodes of both Incoming and Current chains to correspond to either the left or right leg of the character: for example, Thigh to Toe.

    Read the Scale Factor that is set on the basis of the two chains.

  6. Click Set to retarget the highlighted mapped tracks.

    If the two current legs are not the same length, repeat step 5 for the other leg, then choose that leg's Foot (or Toe) node, turn on Enabled in the FK Retargeting Extent group, and choose the top of the leg (for example, Thigh) as the parent to use. Click Set.

  7. Save the retargeted mapping file.
  8. Click Load Motion to animate the current character, and then close the Map Animation dialog.

Interface

Find
Enter a name to search for a particular object in the Retargetable Nodes list, then press Enter. 3ds Max highlights matching entries in the list.
Filter Retargeted Nodes
When on, the Retargetable Nodes list shows only those mappings that have been retargeted. When off, all mappings are listed. Default=off.
Retargetable Nodes list
This list shows the tracks that have been mapped using the Map Track To Track rollout. Each of these mappings can be retargeted.

The fields in this list are as follows:

  • Current Mapped Node Shows the node-to-node mapping, as in “CurrentObject->IncomingObject.”
  • R When a mapping has been retargeted, this field shows an “X.”
  • Scale (X,Y,Z) Shows the current scaling factor for each dimension of the current node.
  • Absolute When a mapping uses absolute scaling, this field shows an “X.”
  • Scale Origin (Incoming,Current) Shows the incoming and current scale origins for this mapping. If the mapping hasn't been retargetted, this field shows “Scene Root , Scene Root.”
  • Incoming Chain (Start,End) If the mapping has been retargeted, shows the incoming chain used to calculate scale.
  • Current Chain (Start,End) If the mapping has been retargeted, shows the current chain used to calculate scale.
  • FK Extent If a mapped track's FK extents have been recalculated, shows the parent node used in the recalculation.
Mapped Node
Shows the currently highlighted mapped node. If more than one list entry is highlighted, shows “—Multiple—.”

Scale group

  • Absolute When chosen, scaling for the currently highlighted mappings is absolute, and based on the XYZ settings in this group alone.
  • Multiply Derived Scale (The default.) When chosen, scaling for the selected mappings is based on both the XYZ settings in this group, and calculations from the Derive Scale Between Chains group and the FK Retargeting Extent group (if that is used).
X/Y/Z
You can use these fields to explicitly set the scaling factor for the currently highlighted mappings.

Scale Origin group

Incoming
Choose the incoming object from which to derive the scaling origin. This is a drop-down list obtained from the list of incoming nodes.
Current
Click to display a Select dialog and chose the current object from which to derive the scaling origin. The dialog shows all currently selected objects.

Typically, you set these two to be the incoming root node and current root node, whose motion tracks are already mapped.

Derive Scale Between Chains group

Resulting Scale Factor
Displays the scale factor derived from the Scale Origin and Incoming/Current Chain settings. Check this value to see that it matches the apparent difference in proportion between the objects or characters you are retargeting.
Incoming Chain
These controls set the incoming IK or FK chain to use in calculating the Scale Factor.
  • Start Choose the start of the incoming chain. This is a drop-down list obtained from the list of incoming nodes.

    When retargeting character animation, typically you choose the top of the incoming character's leg; for example, the thigh.

  • End Choose the end of the incoming chain. This is a drop-down list that is restricted to children of the incoming Start object.

    When retargeting character animation, typically you choose the end of the incoming character's leg; for example, the toe.

Current Chain
These controls set the incoming IK or FK chain to use in calculating the Scale Factor.
  • Start Click to display a Select dialog and choose the start of the current chain. The dialog shows all currently selected objects.

    When retargeting character animation, typically you choose the top of the current character's leg (using the same side as you used for the incoming chain).

  • End Choose the end of the current chain. This is a drop-down list that is restricted to children of the current Start object.

    When retargeting character animation, typically you choose the end of the current character's leg.

If a character's legs are symmetrical, which is usually the case, you only need to calculate the retargeting scale for one leg, and then Set that value to both. If the character's legs are not symmetrical, you need to calculate values for both legs, and also use the FK Extents controls (described below).

FK Retargeting Extent group

When the current model uses IK, 3ds Max knows the extent to retarget because it is defined by the IK solution. But if the current model uses FK, you should specify the extent of retargeting. For example, mapping rotation animation from a long leg to a short leg with different link lengths requires that the short leg’s foot be chosen to retarget so it ends up meeting the floor in the same way the long leg does. In order for 3ds Max to know how far up the chain from the foot to do the retargeting, the parent of the desired chain (for example, the thigh) must be specified. By defining the two chains to compare, 3ds Max can adjust the resulting rotations such that the feet don't slide.

When a character's limbs are not symmetrical, you can also use these controls to keep rotations proportional. First, highlight the current child (for example, a foot or toe) in the Retargetable Nodes list. Turn on Enabled, and then use the drop-down list to choose the upper parent (for example, the thigh) of the limb you are retargeting. Finally, click Set.

Enabled
Turn on to enable retargeting extents. Default=off.
Parent Node
Choose the current upper parent of the limb you are retargeting. This drop-down list is restricted to parents of the currently highlighted current object.
Get
Click to set controls in the Scale, Derive Scale Between Chains, and FK Retargeting Extents groups based on the currently highlighted mapping in the list.

If multiple mappings are selected, Get fetches the first highlighted mapping in the list.

Set
Click to apply the current Scale Factor to the mappings that are currently highlighted in the list.
Clear
Click to clear retargeting values from the mappings that are currently highlighted in the list.