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 )