UnityでエフェクトといえばParticleである。
ゲームの手触りに関係する部分をさくっと作れるようにする。
Particleを追加する。
Hierarchyの空欄で右クリック。Effect>Particle Systemで追加。
このほわほわの形や動きかたでエフェクトを表現する。
そのためのパラメータがずらっとinspectorにならんでいる。
ためしにStart Lifetime(表示時間)を動かしてみると
表示される時間がふえて長い間Particleが表示されるようになる。
他のパラメータがどう動くのかは調べると出てくるのそれを参照。
このまま〇ではつまらないので、これをコインに差し替える。
新規Materialを作成
ShaderをMobile>Particles/Alpha Blendedに変更
設定したいPngをD&Dで設定する。
作ったMaterialをPartilceに設定。これもD&Dでできる。inspectorの下のほうにD&Dすると設定される。
スクリプトで制御
パーティクルは開始や停止が用意されているのでそれを条件で囲うと制御できる。
ジャンプしたときに宝箱が開いたときにコインがでてくるとか、ジャンプしたときに煙がでるとか・・・・
private ParticleSystem particle;
particle.Play();
particle.Stop();
Particleの再利用
いいかんじのParticleが作れたそれをPrefab化するとほかのところでもすぐに使えるようになる。
作ったParticleをProjectにD&DしてPrefab化する。
Prefab化したParticleを新規作成した、GameObjectに入れ子にすることでこのGameObjectにエフェクトを追加することが出来た。制御はスクリプトで行う。
どんどんPrefab化することで簡単にゲームにエフェクトを追加できるようになった。
やったね。
ほかにもできること
Unityのアニメーションと複合させて、パラパラ漫画が複数動かすようなこともできる。
Particleを連鎖させて、花火みたいに初めは上に上がったあと広がるようなこともできる。
参考記事