ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.
dynExpression(
selectionItem
, [creation=boolean], [runtimeAfterDynamics=boolean], [runtimeBeforeDynamics=boolean], [string=string])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
dynExpression は、取り消し可能、照会可能、および編集可能です。
指定したパーティクル シェイプに属するエクスプレッションを記述します。エクスプレッションは、C のような構文で長さに制限がないコードのブロックであり、シーン内の数値アトリビュートかパーティクル単位のアトリビュートで、変換、数学演算、論理演算を実行することができます。1 つのエクスプレッションで、任意の数のアトリビュートの読込みと変更ができます。シーン内のパーティクル シェイプは、runtimeBeforeDynamics 用、runtimeAfterDynamics 用、時間作成用の 3 つのエクスプレッションを持っています。作成時エクスプレッションは、存在時間が 0.0 のオブジェクトにあるすべてのパーティクルで実行されます。ランタイム エクスプレッションは、存在時間が 0.0 より大きいパーティクルで実行されます。expression コマンドで作成したエクスプレッションとは異なり、パーティクル エクスプレッションは常に存在して、所有しているパーティクル オブジェクトのシェイプの一部になります。既定は空の文字列ですが、常に存在します。このため、「-e」フラグを使用する必要はありません。dynExpression のコールは、既定ですべて編集とみなされます。パーティクル単位のアトリビュートはパーティクル シェイプのアトリビュートで、オブジェクト内のパーティクルごとに異なる値を持つ可能性があります。このサンプルには位置と速度が含まれます。
このコマンドをコマンド ラインまたはスクリプトで送信する場合、エクスプレッション エディタ(Expression Editor)で読むときにわかりやすいように、エスケープされた改行(¥n)、タブ(¥t)を必ず埋め込みます。また、システムが文字列の末尾と混同しないように、エクスプレッション中の引用符はエスケープする(¥")必要があります。エクスプレッション エディタ(Expression Editor)を使用する場合、これらのキャラクタがすでに引用符で囲まれていない限りエスケープされます。
このタイプのエクスプレッションは、ダイナミクスの評価中に実行されます。エクスプレッションの出力がその前に要求された場合、ダイナミクスはその時点で計算されます。ダイナミクスを無効にすると、このエクスプレッションは効果がなくなります。
string | このエクスプレッションが属するパーティクル シェイプ。 |
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
particle
creation, runtimeAfterDynamics, runtimeBeforeDynamics, string
ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
string(s)
|
string
|
|
|
エクスプレッションの文字列を設定します。これは、-q/query フラグと、-rbd/runtimeBeforeDynamics フラグ、-rab/runtimeAfterDynamics フラグまたは -c/creation フラグで照会することができます。
|
|
creation(c)
|
boolean
|
|
|
渡した文字列が、パーティクル シェイプの作成エクスプレッションであることをコマンドに伝えます。つまり、パーティクルが放出されるとき、または既存パーティクルのシーンの最初で、このエクスプレッションは実行されます。
|
|
runtimeBeforeDynamics(rbd)
|
boolean
|
|
|
渡した文字列が、パーティクル シェイプのランタイム エクスプレッションであることをコマンドに伝えます。このエクスプレッションは、パーティクルの存在時間が 0 より大きければダイナミクスの前に実行されます。
|
|
runtimeAfterDynamics(rad)
|
boolean
|
|
|
渡した文字列が、パーティクル シェイプのランタイム エクスプレッションであることをコマンドに伝えます。このエクスプレッションは、パーティクルの存在時間が 0 より大きければダイナミクスの後に実行されます。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
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.