Go to: Synopsis. Return value. Related. Flags. Python examples.
parentConstraint(
[target ...] [object]
, [createCache=[float, float]], [deleteCache=boolean], [layer=string], [maintainOffset=boolean], [name=string], [remove=boolean], [skipRotate=string], [skipTranslate=string], [targetList=boolean], [weight=float], [weightAliasList=boolean])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
parentConstraint is undoable, queryable, and editable.
Constrain an object's position and rotation so that it behaves as if it
were a child of the target object(s). In the case of multiple targets,
the overall position and rotation of the constrained object is the
weighted average of each target's contribution to the position and
rotation of the object.
A parentConstraint takes as input one or more "target" DAG transform
nodes at which to position and rotate the single "constraint
object" DAG transform node. The parentConstraint positions and rotates
the constrained object at the weighted average of the world
space position, rotation and scale target objects.
string[] | Name of the created constraint node |
In query mode, return type is based on queried flag.
aimConstraint, geometryConstraint, normalConstraint, orientConstraint, pointConstraint, poleVectorConstraint, scaleConstraint, tangentConstraint
createCache, deleteCache, layer, maintainOffset, name, remove, skipRotate, skipTranslate, targetList, weight, weightAliasList
Long name (short name) |
Argument types |
Properties |
name(n)
|
string
|
|
|
Sets the name of the constraint node to the specified
name. Default name is constrainedObjectName_constraintType
|
|
weight(w)
|
float
|
|
|
Sets the weight value for the specified target(s).
If not given at creation time, the default value of 1.0 is used.
|
|
remove(rm)
|
boolean
|
|
|
removes the listed target(s) from the constraint.
|
|
targetList(tl)
|
boolean
|
|
|
Return the list of target objects.
|
|
weightAliasList(wal)
|
boolean
|
|
|
Returns the names of the attributes that control the weight
of the target objects. Aliases are returned in the same order
as the targets are returned by the targetList flag
|
|
layer(l)
|
string
|
|
|
Specify the name of the animation layer where the constraint should be added.
|
|
skipTranslate(st)
|
string
|
|
|
Causes the axis specified not to be considered when
constraining translation. Valid arguments are "x", "y", "z" and "none".
|
|
skipRotate(sr)
|
string
|
|
|
Causes the axis specified not to be considered when
constraining rotation. Valid arguments are "x", "y", "z" and "none".
|
|
maintainOffset(mo)
|
boolean
|
|
|
If this flag is specified the position and rotation of the
constrained object will be maintained.
|
|
createCache(cc)
|
[float, float]
|
|
|
This flag is used to generate an animation curve that serves as a
cache for the constraint. The two arguments define the start and end
frames.
The cache is useful if the constraint has multiple targets and
the constraint's interpolation type is set to "no flip". The "no flip"
mode prevents flipping during playback, but the result is dependent on
the previous frame. Therefore in order to consistently get the same
result on a specific frame, a cache must be generated. This flag
creates the cache and sets the constraint's interpolation type to
"cache". If a cache exists already, it will be deleted and replaced
with a new cache.
|
|
deleteCache(dc)
|
boolean
|
|
|
Delete an existing interpolation cache.
|
|
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
# Position cube1 at the location of cone1
# Rotate cube1 to the rotation of cone1
cmds.parentConstraint( 'cone1', 'cube1' )
# Position cube1 at the average of the locations of cone1 and surf2
# Rotate cube1 to the average of the rotations of cone1 and surf2
cmds.parentConstraint( 'cone1', 'surf2', 'cube2', w=.1 )
# Sets the weight for cone1's effect on cube2 to 10.
cmds.parentConstraint( 'cone1', 'cube2', e=True, w=10.0 )
# Removes surf2 from cube2's parentConstraint
cmds.parentConstraint( 'surf2', 'cube2', e=True, rm=True )
# Adds surf3 to cube2's parentConstraint with the default weight
cmds.parentConstraint( 'surf3', 'cube2' )
# Constrain position only in the y-axis with rotation
# constraining in all axes
cmds.parentConstraint( 'cone2', 'cube2', st=["x","z"] )