パーティクルエクスプレッションモディファイヤ

パーティクルエクスプレッションモディファイヤを使用すると、パーティクルにエクスプレッションを適用できます。式は、数式として表される一連の命令です。この粒子表現修飾子の場合、特定の数学的制御を粒子に適用して、粒子の動きや位置のさまざまな側面を制御したり、特定の条件が満たされたときに制御を割り当てることができます。エクスプレッション自体が、パーティクルが影響を受ける方法を制御します。 ApplyそしてRangeオプションはその影響の度合いを制御し、変換オプションはターゲットに適用される実際の変更を制御します。

パーティクルエクスプレッションモディファイヤを追加する

パーティクルエクスプレッションモディファイアアイテムをSetup下のインターフェースParticlesサブタブ、またはAdd ItemのボタンItemsリスト。ボタンをクリックしてメニューを開き、 Particles > Modifiers、クリックParticle Expression Modifier

シーンに追加したら、アイテム自体をItemsリストに入れて、 Schematicビューポート。式修飾子は、ポイントソース要素とレプリケーターなどのポイントターゲット項目の間に接続されます。接続は次の図のようになります。

エクスプレッションは、ソースからのパーティクル値を変更します。これは、静的または動的のいずれかのパーティクルアイテムにすることができます。この場合、これは単純なパーティクルジェネレータです。これらの値は式の評価に置き換えられ、ターゲットに渡されます。式によって返された値は、モディファイアの他のチャネルで設定された値で乗算されます。たとえば、時間とともにパーティクルの範囲を移動するY軸上の正弦波の場合、式は次のようになります。 sin(T+PID)。使用する場所PID (パーティクルID)は、Y位置に適用される現在の時間のオフセットです。次に、設定する必要がありますPosition Yオプションを1 mなどの正の値に変換し、他のすべての位置、回転、スケールチャネルを0.0に変換します。タイムラインが再生されると、正弦波はパーティクルの位置をデフォルトで1 m上下に変調して変換します。 Range Min/Maxそれぞれ100%/ 100%の値。

パーティクルエクスプレッションモディファイヤを選択すると、次の属性がPropertiesパネル。

Particle Express Panel

オプション

説明文

Name

現在のアイテム名を表示します。変更するには、フィールドをクリックして新しい名前を入力します。

Expression

Point Source

エクスプレッションモディファイヤの影響を受けるパーティクルのソースを定義します。

Source Mode

パーティクルモディファイヤがソースに影響する方法を指定します。Verticesポイントの位置を使用し、 Polygonsポリゴンの中心を使用し、 Detached Verticesポリゴンの一部ではない頂点のポイント位置を使用します。

Apply

式がターゲットに影響する全体的な度合いを決定します。0%の場合、ターゲットはまったく影響を受けません。100%の場合、ターゲットは完全に影響を受けます。これにより、変更された状態に移行できます。

Formula

ここに実際の式が入力されます。

Range Min/Max

値の乗数として機能するパーティクルの全範囲にわたってターゲットに適用される変換の量を決定します。たとえば、 Scale 3つの軸すべてで200%に設定され、 Range Min/Maxそれぞれが100%/ 100%の場合、最初のパーティクルは200%にスケーリングされ、200%にスケーリングされた最後のパーティクルに向かって値が減衰します。範囲は、 Particle ID

Seed

ランダムな手続き値を生成するときに使用される初期番号。違うSeed値はさまざまなランダムバリエーションを生成し、結果の変更に役立ちます。

PositionX/Y/Z

各軸のターゲットに追加される位置の値を定義します。

RotationX/Y/Z

各軸のターゲットに追加される回転値を定義します。

Scale X/Y/Z

各軸のターゲットに追加されるスケール値を定義します。

Color

ミニグラディエントエディターを使用して、結果のパーティクルにさまざまな属性を割り当て、制御することができます。これらの属性は、ボリュームとスプライトの両方を操作して、最終的なエフェクトに渡されます。勾配値は順次生成され、勾配自体が割り当てられた生成されたパーティクルの数に分割され、それぞれが勾配に沿ったその位置の値を受け取ります。たとえば、パーティクルの線形配列に割り当てられた赤から青へのグラデーションは、最初に1つの赤いパーティクルを生成します。粒子の色は、配列の長さに沿って均等な増分で青色に向かってフェードします。

関連する表面属性に適用できる3つの異なる設定があります。これらの機能のいずれかは、 Off (機能を無効にしたデフォルト値)。選択したModeグラデーションとターゲット要素の基本設定のブレンドを決定します。

Color Mode

結果のグラデーションがどのように適用されるかを決定し、ベースパーティクルのカラーリングに適用されるカラーのブレンドモードを定義します。のColor開いているグラデーションエディターを使用すると、適用される実際のグラデーション値を定義できます。

Luminance Mode

結果のグラデーションがどのように適用されるかを決定し、ベースパーティクルの明度に適用される明度値のブレンドモードを定義します。のLuminosity開いているグラデーションエディターを使用すると、適用される実際のグラデーション値を定義できます。

Dissolve Mode

結果のグラデーションがどのように適用されるかを決定し、ベースパーティクルの透明度に適用される色のブレンドモードを定義します。のDissolve開いているグラデーションエディタを使用すると、透過量を決定する実際のグラデーション値を定義できます。

Pmod COlor

Normalパーティクルジェネレータの放射状配列に適用されるカラーモードグラデーション

粒子変数

次の表に、パーサーでサポートされているパーティクルごとの変数を示します。

注意:  ためにAGEPATH 、およびMASSこれらの機能を有効にする必要があります粒子シミュレーションアイテム、それ以外の場合はゼロを返します。

式では、ユーザーチャネルを名前で参照できます。

変数

意味

PX、PY、PZ

X、Y、Zの位置

PPX、PPY、PPZ

X、Y、Zの以前の位置

RX、RY、RZ

X、Y、Zの回転

SX、SY、SZ

X、Y、Zのスケール

VX、VY、VZ

X、Y、Zの速度

FX、FY、FZ

X、Y、Zの力

CR、CG、CB

R、G、Bのカラー

ラム

輝度

PID

パーティクルID

PCNT

粒子数

年齢

パーティクルエージ

質量

粒子質量

サイズ

粒子サイズ

粒子が移動した距離

DISS

溶かす

割合

割合

項目

項目

T

時間

組み込み関数

次の表に、デフォルトの実装でサポートされている関数の概要を示します。関数名、引数の数、簡単な説明がリストされます。

名前

意味

正弦関数

cos

コサイン関数

日焼け

タンジェンス関数

asin

アークサイン関数

acos

アークコサイン関数

日焼け

アークタンジェンス関数

双曲線正弦関数

Cosh

双曲線コサイン

タン

双曲線正接関数

Asinh

双曲線アークサイン関数

Acosh

双曲線アークタンジェンス関数

atanh

双曲線アークタンゲンス関数

log2

2を底とする対数

log10

10を底とする対数

ログ

10を底とする対数

ln

eを底とする対数(2.71828 ...)

exp

eのx乗

sqrt

値の平方根

符号

符号関数-1(x <0の場合)。 x> 0の場合は1

Rint

最も近い整数に丸める

腹筋

絶対値

すべての引数の最小

最高

すべての引数の最大

すべての引数の合計

平均

すべての引数の平均値

mod(a、b)

bで割った余りを返します

クランプ(a、最小、最大)

値aが与えられ、aがminより小さい場合、minが返されます。maxより大きい場合、maxが返されます。minとmaxの間にある場合、aが返されます。

組み込みの二項演算子

次の表に、パーサーがサポートするデフォルトの2項演算子を示します。

オペレーター

意味

優先

=

割り当て*

-1

&&

論理的で

1

||

論理的または

2

<=

以下

4

>=

以上

4

!=

等しくない

4

==

等しい

4

>

より大きい

4

<

未満

4

+

添加

5

-

減算

5

*

乗算

6

/

分割

6

^

xをy乗する

7

その他のオペレーター

muParserには、if / then / else演算子のサポートが組み込まれています。式の必要な分岐のみが評価されるようにするために、遅延評価を使用します。

オペレーター

意味

備考

?:

もしそうなら、他の演算子

C / C ++スタイルの構文