移動先: 概要 戻り値 関連項目 フラグ MEL の例
dynExpression [-creation] [-runtimeAfterDynamics] [-runtimeBeforeDynamics] [-string string]
selectionItem
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)
|
|
|
|
渡した文字列が、パーティクル シェイプの作成エクスプレッションであることをコマンドに伝えます。つまり、パーティクルが放出されるとき、または既存パーティクルのシーンの最初で、このエクスプレッションは実行されます。
|
|
-runtimeBeforeDynamics(-rbd)
|
|
|
|
渡した文字列が、パーティクル シェイプのランタイム エクスプレッションであることをコマンドに伝えます。このエクスプレッションは、パーティクルの存在時間が 0 より大きければダイナミクスの前に実行されます。
|
|
-runtimeAfterDynamics(-rad)
|
|
|
|
渡した文字列が、パーティクル シェイプのランタイム エクスプレッションであることをコマンドに伝えます。このエクスプレッションは、パーティクルの存在時間が 0 より大きければダイナミクスの後に実行されます。
|
|
: コマンドの作成モードで使用可能なフラグ
|
: コマンドの編集モードで使用可能なフラグ
|
: コマンドの照会モードで使用可能なフラグ
|
: 1 つのコマンドで複数回使用可能なフラグ
|
dynExpression -c -s "rgbPP = << 1, 0, 0 >>;" particleShape1;
// 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.
dynExpression -rbd -s "rgbPP = rgbPP * .9;" particleShape1;
// 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.
dynExpression -rad -s "rgbPP = rgbPP * .9;" particleShape1;
// 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.