Go to: Synopsis. Return value. Flags. Python examples.
turbulence(
selectionList
, [attenuation=float], [frequency=float], [magnitude=float], [maxDistance=linear], [name=string], [noiseLevel=int], [noiseRatio=float], [perVertex=boolean], [phase=float], [phaseX=float], [phaseY=float], [phaseZ=float], [position=[linear, linear, linear]], [torusSectionRadius=linear], [volumeExclusion=boolean], [volumeOffset=[linear, linear, linear]], [volumeShape=string], [volumeSweep=angle])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
turbulence is undoable, queryable, and editable.
For each listed object, the command creates a new field.
The field has a shape which lives in the DAG and it has an associated
dependency node. The field is added to the list of fields owned
by the object. Use connectDynamic to cause the field to affect a dynamic
object. Note that if more than one object is listed, a separate field is
created for each object.
If fields are created, this command returns the names of each
owning shape and of the field shapes themselves. If a field was queried,
the results of the query are returned. If a field was edited, the field
name is returned.
If no object names are provided but the active selection list is non-empty,
the command creates a field for every object in the list. If the
list is empty, the command defaults to -pos 0 0 0.
A turbulence field causes irregularities (also called 'noise' or
'jitter') in the motion of affected objects.
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.
attenuation, frequency, magnitude, maxDistance, name, noiseLevel, noiseRatio, perVertex, phase, phaseX, phaseY, phaseZ, position, torusSectionRadius, volumeExclusion, volumeOffset, volumeShape, volumeSweep
Long name (short name) |
Argument types |
Properties |
|
attenuation(att)
|
float
|

|
|
Attentuation rate of field
|
|
frequency(f)
|
float
|

|
|
Frequency of turbulence field. This determines how often
motion is disrupted.
|
|
magnitude(m)
|
float
|

|
|
maxDistance(mxd)
|
linear
|

|
|
Maximum distance at which field is exerted.
-1 indicates that the field has no maximum distance.
|
|
name(n)
|
string
|

|
|
noiseLevel(nsl)
|
int
|

|
|
If the noiseLevel parameter is greater than zero, the field
will do multiple lookups in the table. Each additional lookup is
weighted using noiseRatio (which see). The noiseLevel is the
number of additional lookups, so if noiseLevel is 0, there is just
one lookup. A value of 0 (the default) corresponds to the way
the field behaved prior to Maya 3.0.
|
|
noiseRatio(nsr)
|
float
|

|
|
If noiseLevel is greater than zero, then noiseRatio is
the relative magnitude for each consecutive noise evaluation.
These are cumulative: for example, if noiseRatio is 0.5, then
the first evaluation is weighted 0.5, the second 0.25, and so on.
Has no effect if noiseLevel is zero.
|
|
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 froce is exerted only from the geometric center of
the set of points.
|
|
phase(p)
|
float
|

|
|
Phase shift of turbulence field. This influences the direction
of the disruption. This flag is obsolete and is retained only
for backward compatibility. It is replaced by -phaseX, -phaseY, and
-phaseZ. Setting -phase is identical to setting -phaseZ (the
phase shift was always in the Z dimension).
|
|
phaseX(px)
|
float
|

|
|
X component of phase shift of turbulence field. This influences
the direction of the disruption.
|
|
phaseY(py)
|
float
|

|
|
Y component of phase shift of turbulence field. This influences
the direction of the disruption.
|
|
phaseZ(pz)
|
float
|

|
|
Z component of phase shift of turbulence field. This influences
the direction of the disruption.
|
|
position(pos)
|
[linear, linear, linear]
|
 
|
|
Position in space (x,y,z) where you want to place a gravity 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.
|
|
torusSectionRadius(tsr)
|
linear
|

|
|
Section radius for a torus volume. Applies only to torus.
Similar to the section radius in the torus modelling primitive.
|
|
volumeExclusion(vex)
|
boolean
|

|
|
Volume exclusion of the field. If true, points outside the
volume (defined by the volume shape attribute) are affected, If false,
points inside the volume are affected. Has no effect if volumeShape
is set to "none."
|
|
volumeOffset(vof)
|
[linear, linear, linear]
|

|
|
Volume offset of the field. Volume offset translates
the field's volume by the specified amount from the actual
field location. This is in the field's local space.
|
|
volumeShape(vsh)
|
string
|

|
|
Volume shape of the field. Sets/edits/queries the
field's volume shape attribute. If set to any value other
than "none", determines a 3-D volume within which the field has effect.
Values are: "none," "cube," "sphere," "cylinder," "cone," "torus."
|
|
volumeSweep(vsw)
|
angle
|

|
|
Volume sweep of the field. Applies only to sphere, cone,
cylinder, and torus. Similar effect to the sweep attribute
in modelling.
|
|
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 new field
cmds.turbulence( n='turbulenceF', m=5.0, pos=(0.25, 0, 0) )
# Edits the frequency value of the field named turbulenceF
cmds.turbulence( 'turbulenceF', e=True, f=0.5 )
# Queries turbulenceF for its frequency value
cmds.turbulence( 'turbulenceF', q=True, f=1 )