【Unity】Perticleシステムのプロパティーを確認
パーティクルシステムに触れたのでプロパティーのメモを。
- メインモジュール
- Duration
- Looping
- Prewarm
- Start Delay
- Start Lifetime
- Start Speed
- 3D Start Size
- Start Size
- 3D Start Rotation
- Start Rotation
- Randamize Rotation Direction
- Start Color
- Gravity Modifier
- Simulation Space
- Simulation Speed
- Delta Time
- Scaling Mode
- Play on Awake
- Emitter Velocity
- Max Particles
- Auto Random Seed
- Random Seed
- Stop Action
- その他のモジュール
- Emmision
- Shape
- Velocity Over Lifetime
- Limit Velocity Over Lifetime
- Inherit Velocity
- Force Over Lifetime
- Color Over Lifetime
- Color By Speed
- Size Over Lifetime
- Size By Speed
- Rotation Over Lifetime
- Rotation By Speed
- External Forces
- Noise
- Trigger
- Sub Emitters
- Texture Sheet Animation
- Lights
- Trails
- Custom Data
- Renderer
目次だけでひどいことに・・・
メインモジュール
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に何も設定されていないとピンク色(エラーカラー)の四角が放出される。
ほんとに多い・・・
でもどれも設定をカチカチするだけで簡単にそれっぽいエフェクトが作れるので是非マスターしたいですね。