はじめに
ParticleSystem の Limit Velocity over LifeTimeモジュールの挙動がちょっとわかりにくかったので整理してみました。
Limit Velocity over LifeTimeモジュールについて
Limit Velocity over LifeTime はパーティクルの速度がどう減るのかを管理するもの。
参考 https://docs.unity3d.com/jp/540/Manual/PartSysLimitVelOverLifeModule.html
画像で説明すると以下のような感じになります。
準備
このモジュールの挙動をみるため、StartSpeed = 50 に設定したParticleSystemを用意しました。
このParticleSystemのLimit Velocity over LifeTimeモジュールの設定を変えながら、パーティクルの挙動がどう変化するかを見ていきます。
Dampen = 0.1 の場合
Limit Velocity over LifeTimeモジュールをONにして、以下のように設定します。
このときのパーティクルの挙動は以下のようになります。
パーティクルがゆっくり減速していく様子が見てとれると思います。
グラフにすると以下のような感じになります。
Dampenが小さいとゆっくりとSpeedへと近づいていく
そのような挙動になります。
Dampen = 1.0 の場合
今度はモジュールを以下のように設定します。
このとき、パーティクルの挙動は以下のようになります。
初速が最初から1であるかのようなパーティクルになりました。
このときのパーティクルの速度をグラフにすると以下のようになります。
Dampenが大きいと粒子の速さがすぐにSpeedへ抑えられる
そのような挙動になります。
Dampen = 0.0 の場合
Dampen = 0.0に設定するとパーティクルが減速しなくなります。
Dampen = 0.1、Speed = 0にしてみる
Dampen = 0.1にして Speed = 0に設定すると、パーティクルの速さがゆっくりと0へ近づいていくような挙動になります。
粒子のスピードがモジュールのSpeedより小さい場合は何も起きない
ちなみに、粒子のスピードがモジュールのSpeedを下回っている場合は何も起きません。
ためしにSpeed = 100に設定してみます。
このときのパーティクルの挙動は以下のようになります。
何も起きていないというのが読みとれると思います。
Limit Velocity over LifeTimeモジュールはパーティクルの速度がどう減るのかを管理するものなので、当たり前なのかもしれませんが…
まとめ
・Dampenが大きいとスピードが速く減少する
・Dampenが小さいとスピードがゆっくり減少する
・粒子のスピードがモジュールのSpeedより小さい場合は何も起きない