Constrain an object’s position to the position of the target object or to the average position of a number of targets. A pointOnPolyConstraint takes as input one or more targetDAG transform nodes at which to position the single constraint objectDAG transform node. The pointOnPolyConstraint positions the constrained object at the weighted average of the world space position target objects.
added new syntax for querying the weight of a target object, by passing the constraint first:
aimConstraint( 'pCube1_aimConstraint1', q=1, weight ='pSphere1' )
aimConstraint( 'pCube1_aimConstraint1', q=1, weight =['pSphere1', 'pCylinder1'] )
aimConstraint( 'pCube1_aimConstraint1', q=1, weight =[] )
Long name (short name) | Argument Types | Properties | |
---|---|---|---|
layer (l) | unicode | ||
|
|||
maintainOffset (mo) | bool | ||
|
|||
name (n) | unicode | ||
|
|||
offset (o) | float, float, float | ||
|
|||
remove (rm) | bool | ||
|
|||
skip (sk) | unicode | ||
Specify the axis to be skipped. Valid values are x, y, zand none. During creation, noneis the default. This flag is multi-use. Flag can have multiple arguments, passed either as a tuple or a list. |
|||
targetList (tl) | bool | ||
|
|||
weight (w) | float | ||
|
|||
weightAliasList (wal) | bool | ||
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 |
Derived from mel command maya.cmds.pointOnPolyConstraint
Example:
import pymel.core as pm
# Position cube1 at the location of cone1.
pm.pointOnPolyConstraint( 'cone1', 'cube1' )
# Uses the average of the position of cone1 and surf2.
pm.pointOnPolyConstraint( 'cone1', 'surf2', 'cube2', w=.1 )
# Sets the weight for cone1's effect on cube2 to 10.
pm.pointOnPolyConstraint( 'cone1', 'cube2', e=True, w=10.0 )
# Removes surf2 from cube2's pointOnPolyConstraint
pm.pointOnPolyConstraint( 'surf2', 'cube2', e=True, rm=True )
# Adds surf3 to cube2's pointOnPolyConstraint with the default weight
pm.pointOnPolyConstraint( 'surf3', 'cube2' )
# Constrain the y "amp; z translation of sph2 to sph1
pm.pointOnPolyConstraint( 'sph1', 'sph2', skip="x" )