ak備忘録

レガシーブログ

Particle Scale

f:id:Keiro:20140710173908p:plain

Unityでパーティクルを使うことがあると思いますが、
パーティクルのスケールを変更する方法は今のところ機能としてありません。

もちろんStartSizeなどのパラメータを変更すれば大きさを変更することはできますが、
加速度や速度といった細かいパラメータをプログラムで変更する術がありません。

そんな問題を解決する方法がこちら。

Particle Emitter Not Scalable? [SOLVED!]
http://forum.unity3d.com/threads/104817-*Shocked*-Particle-Emitter-Not-Scalable-SOLVED!

サンプルがついています。
ParticleSystemにこのParticleScalingコンポーネントをアタッチすればOKです。

ちなみに
GetComponent()
の部分はLegacyなパーティクルシステムなので、
今のパーティクルシステムならここは単にrendererでOKです。

これの良いところは、パーティクルのパラメータを一切いじることなく
パーティクルをスケール変更することができることです。
もちろん通常スクリプトではいじれない加速度などのパラメータも
スケーリングしてくれます。

※他に良い方法がありましたら教えてください。