シェアする

Unity Particleが背景より後ろに隠れてしまう時の対処法

シェアする

こんにちは。

今回はUnityでParticleを利用した際の表示優先順位で、ParticleはSpriteと違ってInspectorから設定できなかったので、その対処法を備忘録を兼ねて記載。

 はじめに

ParticleというのはUnityで使用できる昨日のうちの一つで、爆発を起こしたり、雪を降らせたりというような描画をひとまとめに管理することができるものです。

またそれらをプレハブに登録しておくことで、任意のタイミングで生成することができるようになります。

他にも雪を無限に降らせるというような処理をする場合は、このParticleを使うことで実装できます。

Particleが隠れる

オブジェクトなどは基本的にSorting Layersという項目を変更することによって、描画の順番を調整することができます。

しかしParticle は Sorting Layers でdefaultに設定されており、Inspector上からは変更できないようです。

そこで、ParticleのSorting Layersを変更するのではなく、背景などのParticleに被ってしまうSpriteのSorting Layersを変更してしまいましょう。

Particleの描画順を変更

方法はとても簡単で、まず普段と同じようにAdd Sorting Layer を選択します。

スクリーンショット 2015-08-11 15.39.21.png

するといつものようにSorting Layerを追加する画面が開きます。

その画面が開いたら背景の名前を追加します。
ここまでは同じですね。

次に、Layerという字の左側をドラッグしながら初期状態で入っているDefaultの上まで持っていきます。

スクリーンショット 2015-08-11 15.28.44.png

これでDefaultの上に先ほど作成した背景のSorting Layerが移動していると思います。

ここでは「 BK」というレイヤーを最後部に表示するレイヤーとします。

ここまでできたら後は背景のSorting Layerを「BK」に変更しましょう。

背景のSorting LayerよりDefaultの方が手前に来るのでParticleも手前に来るというわけです。

同じように背景に設定したいオブジェクトにはすべて「BK」を設定します。

>こちらの記事もよく読まれています<


まとめ

もっと細かな順位の変更はコードで処理したりする必要があるかもしれませんが、これならば簡単に背景とParticleの表示順位は設定できるのでぜひお試しください。


ちなみにコードを使えばテキストのSortingLayerも変更することができます。

詳しくはこちらを参考にしてみてください。

Unity テキストのSortingLayerを変更する方法
今回は、Unity内のMeshTextを使った際に、他のスプライトと被った場合どうしてもテキストが後ろに回ってしまうという状態に陥っ...


ではまた。

シェアする

フォローする