名古屋でアプリ・VR開発を行っています
ワクワクできるゲームをガンガン開発リリース中!

【Unity】パーティクルのRate over Distanceを使うときの注意点

こんにちは、SAT-BOXのコアラです。

UnityのParticleSystemのemissionという項目は、パーティクルをどんな時にどれだけ出すかを決めるものですが、その中の設定にRate over Distanceというものがあります。

これですね、デフォルトだとTimeのほうにだけ数値が入っています。
f:id:sat-box:20180521175533p:plain

バージョン5.5より前は表記は違いますがこれが多分同じものです。(未検証)
f:id:sat-box:20180521175542p:plain


Distanceということは、時間ではなくParticleSystemがついているゲームオブジェクトが動いた距離によってパーティクルが発生します。


しかし、注意点があります。

RigidbodyのisKinematicにチェックがついていない場合、ゲームオブジェクトを動かしてもパーティクルは発生せず、Rigidbodyのvelocityによって距離が計算されます。
isKinematicを頻繁に切り替えたい場合はややこしくなってくるので、注意が必要ですね。

Unity2017からは、Emitter Velocityという項目でTransformかRigidbody(velocity)かを選択できるようになったので、使いやすくなったかと思います。

以上です。