rn.log

備忘録など

【Unity】ParticleSystem の 「Limit Velocity over LifeTime」モジュールの挙動について

f:id:r-ngtm:20170613192700p:plain

はじめに

ParticleSystem の Limit Velocity over LifeTimeモジュールの挙動がちょっとわかりにくかったので整理してみました。

Limit Velocity over LifeTimeモジュールについて

Limit Velocity over LifeTime はパーティクルの速度がどう減るのかを管理するもの。

参考 https://docs.unity3d.com/jp/540/Manual/PartSysLimitVelOverLifeModule.html

画像で説明すると以下のような感じになります。

f:id:r-ngtm:20170613195301p:plain

準備

このモジュールの挙動をみるため、StartSpeed = 50 に設定したParticleSystemを用意しました。

f:id:r-ngtm:20170613193156g:plain:w400

このParticleSystemのLimit Velocity over LifeTimeモジュールの設定を変えながら、パーティクルの挙動がどう変化するかを見ていきます。

Dampen = 0.1 の場合

Limit Velocity over LifeTimeモジュールをONにして、以下のように設定します。

f:id:r-ngtm:20170613193924p:plain

このときのパーティクルの挙動は以下のようになります。

f:id:r-ngtm:20170613193950g:plain:w400

パーティクルがゆっくり減速していく様子が見てとれると思います。

グラフにすると以下のような感じになります。

f:id:r-ngtm:20170613194400p:plain

Dampenが小さいとゆっくりとSpeedへと近づいていく 

そのような挙動になります。

Dampen = 1.0 の場合

今度はモジュールを以下のように設定します。

f:id:r-ngtm:20170613192700p:plain

このとき、パーティクルの挙動は以下のようになります。 

f:id:r-ngtm:20170613192956g:plain:w400

初速が最初から1であるかのようなパーティクルになりました。

このときのパーティクルの速度をグラフにすると以下のようになります。

f:id:r-ngtm:20170613192501p:plain

Dampenが大きいと粒子の速さがすぐにSpeedへ抑えられる 

そのような挙動になります。

Dampen = 0.0 の場合

Dampen = 0.0に設定するとパーティクルが減速しなくなります。

f:id:r-ngtm:20170613194815g:plain:w400

f:id:r-ngtm:20170613194930p:plain

Dampen = 0.1、Speed = 0にしてみる

Dampen = 0.1にして Speed = 0に設定すると、パーティクルの速さがゆっくりと0へ近づいていくような挙動になります。

f:id:r-ngtm:20170613201003g:plain:w400

f:id:r-ngtm:20170613201412p:plain

粒子のスピードがモジュールのSpeedより小さい場合は何も起きない

ちなみに、粒子のスピードがモジュールのSpeedを下回っている場合は何も起きません。

ためしにSpeed = 100に設定してみます。

f:id:r-ngtm:20170613202531p:plain

このときのパーティクルの挙動は以下のようになります。

f:id:r-ngtm:20170613202601g:plain:w400

何も起きていないというのが読みとれると思います。


Limit Velocity over LifeTimeモジュールはパーティクルの速度がどう減るのかを管理するものなので、当たり前なのかもしれませんが…

まとめ

・Dampenが大きいとスピードが速く減少する

・Dampenが小さいとスピードがゆっくり減少する

・粒子のスピードがモジュールのSpeedより小さい場合は何も起きない