エクスプレッションを使用してパーティクルを調整する

ParticleExpressionノードを使用すると、アトリビュートにエクスプレッションを設定して、パーティクルを調整できます。エクスプレッションを使用すると、パーティクルの動作を調整するさまざまな方法が提供されます。他の場所で使用するのと同様の式構文を使用できますNuke、ただし正常に機能する一部の機能を除きますNukeエクスプレッションはパーティクルエクスプレッションでは使用できません。逆の場合も同様です。

間の主な違いNukeのExpressionノードとParticleExpressionは、パーティクル式が単一の浮動小数点数ではなく3Dベクトルを返すことができるということです。パーティクルエクスプレッションが、ベクトル(速度や加速度など)を期待するフィールドで単一の数値Nを返す場合、各コンポーネントのNを含むベクトルに変換されます。ParticleExpressionで使用できる関数の詳細については、 粒子発現関数

1.   ParticleExpressionノードをパーティクルストリームに接続します。
2.   ParticleExpressionコントロールでは、4つの一時式フィールドを使用できます。これらを使用すると、パーティクルアトリビュートに任意のエクスプレッションを設定し、一時的な名前を付けることができます。この一時名は、対応する一時式を参照するために次のフィールドで使用できます。これは、複数のフィールドで長い式を使用する必要がある場合に役立ちます。デフォルトでは、 per-particleボックスがチェックされ、エクスプレッションが各パーティクルに個別に影響するようになります。すべてのパーティクルにエクスプレッションを一度に適用するには、チェックボックスをオフにします。式の詳細については、 表現
3.   属性フィールドのセットに式を設定することもできます。

color -パーティクルの色を編集する式を設定します。

opacity -パーティクルの不透明度を編集する式を設定します。

size -パーティクルのサイズを編集する式を設定します。

mass -パーティクルの質量を編集する式を設定します。

accel -パーティクルの加速を編集する式を設定します。

force -パーティクルの力を編集する式を設定します。

pos -パーティクルの位置を編集する式を設定します。たとえば、次のように入力しますsin (age * 10) * 5単一の静的ラインでランダムにパーティクルを放出します。

vel -パーティクルの速度を編集する式を設定します。

onlyonnew -各属性フィールドの横にあるこれをチェックして、エクスプレッションが新しいパーティクルにのみ影響し、既存のパーティクルを無視するようにします。

粒子発現関数

ParticleExpressionノードで使用できる機能を次に示します。

関数

目的

関連機能

abs(f)

fの絶対値を返します。

ファブも参照してください。

acos(f)

fの逆余弦を返します。結果は、コサインがfであるラジアン単位の角度です。

参照:cos、cosh、asin、atan2

年齢

フレーム単位のパーティクルの年齢。

-

asin(f)

角度の逆正弦を返します。結果は、サインがfであるラジアン単位の角度です。

-

atan(f)

角度の逆正接を返します。結果は、タンジェントがfであるラジアン単位の角度です。 1つまたは2つの引数で呼び出すことができます。 2つの引数で呼び出された場合、atan2と同等です。

-

atan2(x、y)

2つの引数の符号を使用して結果の象限を決定し、y / xのアークタンジェントの主値を返します。

参照:sin、cos、tan、asin、acos、atan、hypot

ceil(f)

fの天井。小数部分を切り上げます。

-

粒子の色。これは3Dベクトル値です。x()は赤の成分、y()は緑、z()は青です。

-

cos(f)

角度fの余弦を返します。角度はラジアン単位です。

参照:sin、tan、asin、acos、atan、hypot。

cosh(f)

fの双曲線余弦を返します。

-

exp(x)

e(自然対数の底)のx乗の値を返します。

-

fabs(f)

abs(f)の同義語。

-

床(f)

数値のフロア。小数部分を切り捨てます。

-

fmod(x、y)

浮動小数点モジュラス関数。fmod(x、y)は、xをyで除算した後の剰余を返します。

-

hypot(x、y)

ユークリッド距離関数。hypot(x、y)は、他の辺の長さがそれぞれxとyである直角三角形の斜辺の長さを返します。

-

id

各パーティクルのインデックス番号。

-

int(f)

浮動小数点数fを整数に変換し、小数部分を破棄します。

trunc(f)もご覧ください。

生活

フレーム単位のパーティクルの最大寿命。

-

log(x)

xの自然対数を返します。

-

log10(x)

xの10を底とする対数を返します。

-

mag(v)

3Dベクトルvの大きさ(長さ)を返します。

-

質量

粒子の質量。パーティクルに力を加えるときに使用されます。

-

新着

パーティクルが作成されたばかりの場合は1、それ以外の場合は0を返します。

-

ノルム(v)

同じ方向を指しながら、3Dベクトルvを正規化して長さ1.0にします。

-

不透明度

0.0から1.0の間の数値。0.0は完全に透明で、1.0は完全に不透明です。

-

pos

パーティクルの位置。これは3Dベクトルです。

-

pow(x、y)

xをy乗した値を返します。

-

pow2(f)

fの二乗を返します。すなわちfの2の累乗。

-

ランダム

乱数を返します。

-

ランダム

0〜1の各コンポーネントを含むベクトルを返します(体積立方体ごと)。

参照:uniformsamplesphere

rint(f)

浮動小数点数fを整数に丸めます。

-

sin(f)

角度fのサインを返します。角度はラジアン単位です。

-

sinh(f)

fの双曲線正弦を返します。

-

サイズ

粒子のサイズ。

-

sqrt(f)

fの平方根を返します。 fはゼロ以上でなければなりません。

-

tan(f)

角度fのタンジェントを返します。角度はラジアン単位です。

-

tanh(f)

fの双曲線正接を返します。

-

trunc(f)

int(f)の同義語。

-

均一なサンプル球

randomvに似ていますが、真のランダム単位ベクトルを生成します。

関連項目:randomv

v(x、y、z)

3つの別々の数値からベクトルを作成します。

-

vel

粒子の速度。これは3Dベクトルです。

-

x(v)

3Dベクトルvのxコンポーネントを取得します。

-

y(v)

3Dベクトルvのyコンポーネントを取得します。

-

z(v)

3Dベクトルvのzコンポーネントを取得します。

-