ジャンプ先: 概要. 戻り値. 関連. フラグ. 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 | このエクスプレッションが属するパーティクル シェイプ。 |
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
ロング ネーム(ショート ネーム) | 引数タイプ | プロパティ | ||
---|---|---|---|---|
creation(c)
|
boolean
|
![]() ![]() ![]() |
||
|
||||
runtimeAfterDynamics(rad)
|
boolean
|
![]() ![]() ![]() |
||
|
||||
runtimeBeforeDynamics(rbd)
|
boolean
|
![]() ![]() ![]() |
||
|
||||
string(s)
|
string
|
![]() ![]() |
||
|
![]() |
![]() |
![]() |
![]() |
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.