Go to: Synopsis. Return value. Related. Flags. Python examples.
dynExpression(
selectionItem
, [creation=boolean], [runtimeAfterDynamics=boolean], [runtimeBeforeDynamics=boolean], [string=string])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
dynExpression is undoable, queryable, and editable.
This command describes an expression that belongs to the specified
particle shape. The expression is a block of code of unlimited length
with a C-like syntax that can perform conversions, mathematical
operations, and logical decision making on any numeric attribute(s) or
per-particle attribute(s) in the scene. One expression can read and
alter any number of these attributes. Every particle shape in your
scene has three expressions, one for the runtimeBeforeDynamics, one
for the runtimeAfterDynamics and one for creation time. The create
expression gets executed for every particle in the object whose age is
0.0. The runtime expression gets executed for each particle with an
age greater then 0.0. Unlike expressions created with the
expression command, particle expressions always exist and are a
part of the owning particle object's shape. They default to empty
strings, but they are always there. Because of this, there is no need
to use the '-e' flag. Every call to the dynExpression command is
considered an edit by default. Per-particle attributes are those
attributes of a particle shape that have a potentially different value
for each particle in the object. Examples of these include
position and velocity.
If this command is being sent by the command line or in a script, then
the user should be sure to embed escaped newlines (\n), tabs (\t) for
clarity when reading them in the expression editor. Also, quotes in
an expression must be escaped (\") so that they are not confused by
the system as the end of your string. When using the expression
editor, these characters are escaped for you unless they are already
within quotes.
This type of expression is executed during the evaluation of the
dynamics. If an output of the expression is requested before that,
then the dynamics will be force to compute at that time. If dynamics
is disabled, then these expressions will have no effect.
string | The particle shape which this expression belongs to |
In query mode, return type is based on queried flag.
particle
creation, runtimeAfterDynamics, runtimeBeforeDynamics, string
Long name (short name) |
Argument types |
Properties |
string(s)
|
string
|
|
|
Set the expression string. This is queriable with the -q/query flag and the -rbd/runtimeBeforeDynamics,
the -rab/runtimeAfterDynamics or the -c/creation flag.
|
|
creation(c)
|
boolean
|
|
|
Tells the command that the string passed will be a
creation expression for the particle shape. This means that
this expression will be executed when a particle is emitted
or at the beginning of the scene for existing particles.
|
|
runtimeBeforeDynamics(rbd)
|
boolean
|
|
|
Tells the command that the string passed will be a
runtime expression for the particle shape. This expression
will be executed before dynamics whenever a particle's age
is greater then zero (0).
|
|
runtimeAfterDynamics(rad)
|
boolean
|
|
|
Tells the command that the string passed will be a
runtime expression for the particle shape. This expression
will be executed after dynamics whenever a particle's age
is greater then zero (0).
|
|
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
cmds.dynExpression( 'particleShape1', s='rgbPP = << 1, 0, 0 >>', c=1 )
# This expression tells particleShape1 that whenever new particles are
# created for this object, then their color should start out as << 1, 0, 0 >>,
# which is red.
cmds.dynExpression( 'particleShape1', s='rgbPP = rgbPP * .9;', rbd=1 )
# This sets the runtime before dynamics expression for rgbPP. When a particle is
# first "born", its color will be red from the previous example. Every other frame after
# that, its color is reduced by 10 percent each time the expression is executed.
cmds.dynExpression( 'particleShape1', s='rgbPP = rgbPP * .9;', rad=1 )
# This sets the runtime after dynamics expression for rgbPP. When a particle is
# first "born", its color will be red from the previous example. Every other frame after
# that, its color is reduced by 10 percent each time the expression is executed.