Go to: Synopsis. Return value. Related.
Flags. Python
examples.
drag( [objects] , [attenuation=float], [directionX=float], [directionY=float], [directionZ=float], [magnitude=float], [maxDistance=linear], [name=string], [perVertex=boolean], [position=[linear, linear, linear]],
[useDirection=boolean])
Note: Strings representing object names and
arguments must be separated by commas. This is not depicted in the
synopsis.
drag is undoable, queryable, and editable.
Drag exerts a friction, or braking force proportional to the speed
of a moving object. If direction is not enabled, the drag acts
opposite to the current velocity of the object. If direction is
enabled, it acts opposite to the component of the velocity in the
specified direction. The force is independent of the position of
the affected object. The transform is the associated dependency
node. Use connectDynamic to cause the field to affect a dynamic
object. If fields are created, this command returns the names of
each of the fields. If a field was queried, the results of the
query are returned. If a field was edited, the field name is
returned. If object names are provided or the active selection list
is non-empty, the command creates a field for every object in the
list and calls addDynamic to add it to the object. If the list is
empty, the command defaults to -pos 0 0 0. Setting the -pos flag
with objects named on the command line is an error.
In query mode, return type is based on queried flag.
addDynamic, connectDynamic, particle
attenuation, directionX, directionY, directionZ, magnitude, maxDistance, name,
perVertex, position, useDirection
Long name (short name) |
Argument types |
Properties |
position(pos) |
[linear, linear, linear] |
|
|
Position in space where you want to place a field. The gravity
then emanates from this position in space rather than from an
object. Note that you can both use -pos (creating a field at a
position) and also provide object names. |
|
magnitude(m) |
float |
|
|
attenuation(att) |
float |
|
|
Attentuation rate of field |
|
maxDistance(mxd) |
linear |
|
|
Maximum distance at which field is exerted. -1 indicates that
the field has no maximum distance. |
|
name(n) |
string |
|
|
perVertex(pv) |
boolean |
|
|
Per-vertex application. If this flag is set true, then each
individual point (CV, particle, vertex,etc.) of the chosen object
exerts an identical copy of the force field. If this flag is set to
false, then the force is exerted only from the geometric center of
the set of points. |
|
directionX(dx) |
float |
|
|
X-component of direction. |
|
directionY(dy) |
float |
|
|
Y-component of direction. |
|
directionZ(dz) |
float |
|
|
useDirection(ud) |
boolean |
|
|
Enable/disable direction. Drag will use -dx/-dy/-dz arguments
if and only if this flag is set true. |
|
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
# Creates a drag field resisting in direction (0,1,0.5).
cmds.drag( name='myDrag', dx=0, dy=1.0, dz=0.5, useDirection=1 )
# Edits the acceleration value of the field myDrag
cmds.drag( 'myDrag', e=True, m=0.75 )
# Queries myDrag for its magnitude
cmds.drag( 'myDrag', q=True, m=True )