リヨスケのチラシ裏

学んだことを書き留めていく自分のための技術メモです。

【Unity】Perticleシステムのプロパティーを確認

パーティクルシステムに触れたのでプロパティーのメモを。

 目次だけでひどいことに・・・

メインモジュール

Duration

パーティクルを発生させる時間の長さ。値の時間が1サイクル分になる。

Looping

これにチェックが入っているとDurationで設定した時間を再生し終わるとすぐに最初からループする。

Prewarm

Loopingが有効の時のみ動作。チェックを入れるとすでに1サイクル完了した状態で初期化される。

たとえば、長い時間ゆっくりと進み続けるパーティクルの場合、Prewarmがオフの場合は最初のパーティクルが出現するところから始まるが、Prewarmがオンの場合はパーティクルの動作が開始した直後から1サイクル分のパーティクルが展開された状態になっている。

Start Delay

パーティクルの放出を始めるタイミングを遅らせる。

Start Lifetime

パーティクルの最初の生存期間。この値が大きいほど長い時間パーティクルが残り続ける。

Start Speed

各パーティクルの初速。大きいほど速く放出される。

3D Start Size

各軸のサイズを別々に管理できる。(横長のパーティクルにしたりできる)

Start Size

各パーティクルの最初のサイズ。

3D Start Rotation

各軸の回転を別々に管理できる。パーティクルを傾けて放出させられる。

Start Rotation

各パーティクルの最初の回転角度(傾き)。

Randamize Rotation Direction

各パーティクルの回転方向をランダムで決定する。

Start Color

各パーティクルの最初の色。

Gravity Modifier

パーティクルにかかる重力値。0で無重力。

Simulation Space

Local : そのパーティクルがアタッチされたオブジェクトと一緒にすでに放出されたパーティクルも移動する。

Wold : アタッチされたオブジェクトが動いてもすでに放出されたパーティクルは一緒に動かない(放出点は動く)

Custom:選択したカスタムのオブジェクトと一緒に動く。

Simulation Speed

パーティクルシステム全体を更新するスピード。値が大きいと早送りになる。

Delta Time

Scaled : Time ManagerのTime Scaleに従う。

Unscaled : ゲームの時間が止まっても(ポーズなど)パーティクルは動き続ける。

Scaling Mode

親オブジェクトのスケールに依存するかなどの設定を行う。

Play on Awake

オブジェクトが生成された時にパーティクルを自動的に起動するか否か。

Emitter Velocity

速度計算方法。RigidbodyとTransformのどちらの動きを追跡して速度計算を行うか。

Max Particles

同時に存在できるパーティクルの最大数。

Auto Random Seed

オンにするとパーティクルを再生するたびに違った動きを見せる。オフにすると再生するたびに全く同じように放出される。

Random Seed

Auto Random Seedgaが無効かつ特有の繰り返しが可能なエフェクトを作成する際に使用する。

Stop Action

パーティクルが全て終了した時に指定したアクションを実行させる。

Disable : パーティクルの再生が完了したらそのパーティクルの親オブジェクトを無効(非アクティブ)にする。

Destroy : パーティクルの再生が完了したらそのパーティクルの親オブジェクトを破棄する。

Callback : 親オブジェクトにアタッチされたスクリプト内のOnParticleSystemStopped()を呼び出す。

 

ここまでがメインモジュールで設定できるプロパティーです。

多い・・・

でもまだまだそのほかのモジュールがたくさんあります。

さすがに多すぎるのでモジュールのメモだけにして各モジュールのそれぞれのプロパティーは省略します。

その他のモジュール

Emmision

放射の頻度や量を調整。バースト(設定した時間・量・間隔でパーティクルを放出)の調整はこのモジュールで行う。

Shape

エミッター(バーティクルの放出源)の形状の設定を行う。

Velocity Over Lifetime

パーティクルの再生中の速度制御を行う。x,y,z軸ごとの速度も指定できる。

Limit Velocity Over Lifetime

パーティクル再生中の速度減少の制御を行う。空気抵抗によりパーティクルが減速するような表現ができる。

Inherit Velocity

エミッターから継承されるパーティクルのスピードをどうするかの制御を行う。とのことですが実際に動かしてみてもよくわかりませんでした。。。

Force Over Lifetime

時間経過によるパーティクルの加速の制御を行う。

Color Over Lifetime

時間経過によるパーティクルの透明度の変化の制御を行う。

Color By Speed

パーティクルの速度変化によるパーティクルの色の変化を制御する。爆発の火の粉が減速するにつれて暗い色になったりなどの表現ができる。

Size Over Lifetime

パーティクルの再生時間に応じてパーティクルのサイズを変化させる。カーブによって設定し、吹き出す炎が徐々に大きくなった後急激に小さくなる表現などができる。

Size By Speed

パーティクルの速度に応じてサイズを変化させる。ランダムな速度でパーティクルが放出される際に早いものは小さく、遅いものは大きくしたい時に便利。

Limit Velocity Over Lifetimeと併用してしまうと放出後にサイズが変化してしまうため、前述の表現とはそぐわなくなる注意。

Rotation Over Lifetime

パーティクルの移動に伴う回転を制御する。舞う木の葉などの表現に便利。

Rotation By Speed

パーティクルの速度に伴う回転を制御する。転がるものに速度にあった回転をかけたい場合に便利。

External Forces

Terrainのwind zonesによってパーティクルが吹き飛ばされるようにできる。

Noise

パーティクルに乱気流のような「揺らぎ」を発生させる。

Collision

固形オブジェクトとの衝突判定の設定を行う。

Trigger

パーティクルがコライダー内に出入りする際にスクリプトの処理を呼び出すことができる。

Sub Emitters

ブエミッターの設定を行う。パーティクルが発生した時、衝突した時、破棄された時にトリガーを設定可能。複数管理ができる(パフォーマスへの影響に注意)。

Texture Sheet Animation

テクスチャをパーティクルとして使用することできる(パラパラ漫画みたいに?)。その制御を行う。

Lights

パーティクルにプレハブとして作成したLightを割り当て設定できる。

Trails

パーティクルにトレイル(尾を引くようなエフェクト)を設定できる。

Custom Data

パーティクルにアタッチするカスタムのデータ形式をエディターで定義できる。

Renderer

パーティクルのレンダリングに関する設定を行う。このモジュールのMaterialに何も設定されていないとピンク色(エラーカラー)の四角が放出される。

 

 

ほんとに多い・・・

でもどれも設定をカチカチするだけで簡単にそれっぽいエフェクトが作れるので是非マスターしたいですね。