Go to: Synopsis. Return value. Keywords. Related. Flags. Python examples.

Synopsis

retarget([endFrame=int], [lowerBody=string], [lowerScale=string], [lowerScaleFactor=float], [maintainOffset=boolean], [restPoseFrame=int], [scaleHandsFrom=string], [startFrame=int], [upperBody=string], [upperScale=string], [upperScaleFactor=float], [useExistingKeys=boolean])

Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.

retarget is undoable, NOT queryable, and NOT editable.

This command is used to take motion from one character and retarget it to a second character of a different size.

Return value

None

Keywords

character, clip, animation, joint

Related

character, characterMap, joint

Flags

endFrame, lowerBody, lowerScale, lowerScaleFactor, maintainOffset, restPoseFrame, scaleHandsFrom, startFrame, upperBody, upperScale, upperScaleFactor, useExistingKeys
Long name (short name) Argument types Properties
lowerBody(lb) string create
Specify the desired retargeting technique for the lower body. Valid options are: "jointRotationsOnly", "scaledFootPlacement" and "absoluteFootPlacement". Default is scaledFootPlacement.
lowerScale(ls) string create
Specify the way scale is calculated for the lower body. Valid techniques are: "hipToFoot", "hipToToe", "overallHeight", and "other". This option is used when the lowerBody flag is set to anything other than "jointRotationsOnly". Default is hipToFoot. When "other" is used, the lowerScaleFactor flag should be used to specify the scale factor.
lowerScaleFactor(lsf) float create
Specify the scale factor for the lower body. This option is only used when the lowerScale is set to "other".
upperBody(ub) string create
Specify the desired retargeting technique for the upper body. Valid techniques are: "jointRotationsOnly", "scaledHandPlacement", "absoluteHandPlacement" and "maintainHandDistance". Default is jointRotationsOnly.
upperScale(us) string create
Specify the way scale is calculated for the upper body. Valid techniques are: "shoulderToWrist", "shoulderToHand", "followLower", and "other". This option is used when the upperBody flag is set to anything other than "jointRotationsOnly". Defaults is shoulderToHand. When "other" is used, the upperScaleFactor flag should be used to specify the scale factor.
upperScaleFactor(usf) float create
Specify the scale factor for the upper body. This option is used when the upperScale is set to "other".
scaleHandsFrom(shf) string create
Specify where the arms are scaled from. Valid arguments are: "shoulder", "root" and "origin". This option is only used when the upperBody flag is set to "scaledHandPlacement". Defaults is shoulder.
startFrame(s) int create
Specify the retargeting start frame. Default is 0.
endFrame(end) int create
Specify the retargeting end frame. Default is 10.
maintainOffset(mo) boolean create
When this flag is used, the root of the target character will stay the same distance from the source as at the rest pose.
useExistingKeys(uek) boolean create
When this flag is used, the existing keys on the target are used as a hint to help guide the retargeting solution. This option sometimes allows the solver to narrow in on a better solution.
restPoseFrame(rpf) int create
The retargeting solution takes the rest pose of the characters into consideration. For example, one character may be bowlegged with respect to the other in the rest pose. When retargeting animation from the bowlegged character to the non-bowlegged character, the solution will take the rest pose into account so that the target character will receive the walk animation without the bowlegged aspects of the walk.

The user has 2 options for specifying a restPose: specifying a frame number at which the rest pose is defined, or defining a retargeting rest pose using the Retargeting->SetRestPose menu item.

If you use a frame number for the rest pose, the best practice is to use a frame that does not lie within the range of frames being retargeted. This allows you to retarget without wiping out the rest pose.


Flag can appear in Create mode of command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can have multiple arguments, passed either as a tuple or a list.

Python examples

import maya.cmds as cmds

# retarget the motion of bob onto joe using the scaled foot placement solver
#
cmds.retarget( 'bob', 'joe', startFrame=0, endFrame=30, lowerBody='scaledFootPlacement' )
# Retarget the motion of birdman onto splinterFace using the scaled foot placement
# solver (default), using the hip-to-toe measurement to compute the scale.
# Use the hierarchy location at frame -5 as the rest pose.
#
cmds.select( 'splinterFace', 'birdman', r=True )
cmds.retarget( startFrame=0, endFrame=30, lowerScale='hipToToe', restPoseFrame=-5 )