Go to: Synopsis. Return value. Keywords. Related. Flags. Python examples.
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.
None
character, clip, animation, joint
character, characterMap, joint
endFrame, lowerBody, lowerScale, lowerScaleFactor, maintainOffset, restPoseFrame, scaleHandsFrom, startFrame, upperBody, upperScale, upperScaleFactor, useExistingKeys
Long name (short name) |
Argument types |
Properties |
lowerBody(lb)
|
string
|
|
|
Specify the desired retargeting technique for the lower body. Valid options are: "jointRotationsOnly", "scaledFootPlacement" and "absoluteFootPlacement". Default is scaledFootPlacement.
|
|
lowerScale(ls)
|
string
|
|
|
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
|
|
|
Specify the scale factor for the lower body. This option is only used when the lowerScale is set to "other".
|
|
upperBody(ub)
|
string
|
|
|
Specify the desired retargeting technique for the upper body. Valid techniques are: "jointRotationsOnly", "scaledHandPlacement", "absoluteHandPlacement" and "maintainHandDistance". Default is jointRotationsOnly.
|
|
upperScale(us)
|
string
|
|
|
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
|
|
|
Specify the scale factor for the upper body. This option is used when the upperScale is set to "other".
|
|
scaleHandsFrom(shf)
|
string
|
|
|
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
|
|
|
Specify the retargeting start frame. Default is 0.
|
|
endFrame(end)
|
int
|
|
|
Specify the retargeting end frame. Default is 10.
|
|
maintainOffset(mo)
|
boolean
|
|
|
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
|
|
|
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
|
|
|
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.
|
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 )