20171116112039

先日、Unityでパーティクルを使っていたところ、背景の後ろに隠れて見えなくなってしまいました。
 
UnityのパーティクルはSpriteとは違い、Inspectorから表示順を設定できませんよね。
そこで今回は、UnityでParticleを利用した際の「表示優先順位を設定する方法」をを備忘録を兼ねて紹介します。

 はじめに

 
ParticleというのはUnityで使用できる機能のひとつで、

  • 爆発を起こしたり
  • 雪を降らせたり

というような描画をひとまとめに管理することができるものです。
 
またそれらをプレハブに登録しておくことで、任意のタイミングで生成することができるようになります。
他にも雪を無限に降らせるというような処理をする場合は、このParticleを使うことで実装できます。
 

Particleが背景に隠れる

 
オブジェクトなどは基本的にSorting Layersという項目を変更することによって、描画の順番を調整することができます。
しかしParticle は Sorting Layers でdefaultに設定されており、Inspector上からは変更できないようです。
 
そこで、ParticleのSorting Layersを変更するのではなく、背景などのParticleに被ってしまうSpriteのSorting Layersを変更してしまいましょう。
 

Particleの描画順を変更

 
方法はとても簡単で、まず普段と同じようにAdd Sorting Layer を選択します。
 
20170513165634
 
するといつものようにSorting Layerを追加する画面が開きます。
その画面が開いたら背景の名前を追加します。 ここまでは同じですね。
 
続いて、Layerという字の左側をドラッグしながら初期状態で入っているDefaultの上まで持っていきます。
 
20170513165604
 
これでDefaultの上に先ほど作成した背景のSorting Layerが移動していると思うので、ここでは「 BK」というレイヤーを最後部に表示するレイヤーとします。
ここまでできたら、後は背景のSorting Layerを「BK」に変更しましょう。
 
背景のSorting LayerよりDefaultの方が手前に来るのでParticleも手前に来るというわけです。
同じように背景に設定したいオブジェクトにはすべて「BK」を設定します。
 

まとめ

 
もっと細かな順位の変更はコードで処理したりする必要があるかもしれませんが、これならば簡単に背景とParticleの表示順位を設定できるのでぜひお試しください。
ちなみにコードを使えばテキストのSortingLayerも変更することができます。
 
詳しくはこちらを参考にしてみてください。
 

 
ではまた。

おすすめの記事