【Unity】Layer, Sorting Layer, Order in Layer ってどう違うの?

環境 : Unity 5.6.1f1 Personal (64bit)

下の二つの項目がそれ

それぞれどういう項目なのか

インスペクター上にある Layer, SortingLayer, Order in Layer
全部にLayerって付いてるし、選択肢があったりなかったりする…
最初はかなり混乱したけども、わかってしまうと簡単
初心者のうちは Layer は使わないかも

Layer

カメラのマスク機能のための設定項目
ゲームオブジェクトの表示・非表示のグループを作ることができる
あるグループのオブジェクトを表示したいけどこっちのグループのオブジェクトは非表示にしたい、またはそれを随時切り替えたい、という様な時に使用する

SortingLayer

SpriteRenderer等のコンポーネントにある、描画順を設定するための項目
描画順のグループを作ることができる
攻撃エフェクトやHP表示等をキャラクターよりも手前に表示したい、またはその順番を随時並べかえたい、という様な場合に使用する

Order in Layer

SortingLayerと同様に、描画順を設定するための項目
こちらは同じSortingLayer内での描画順を設定する
この数字が大きいほど手前に表示され、同じ数字なら後から生成されたオブジェクトが手前に表示される

編集するには?

おそらくエディタ画面右上にあるであろう Layers というプルダウン
これを開いて一番下の Edit Layers… をクリック

インスペクタに Tag & Layers が表示され、ここで Layer, Sorting Layer の追加・削除ができる
Sorting Layer は左のイコールマーク?をドラッグ&ドロップで並べかえられ、下に並べるほど手前に表示される

This entry was posted in Unity on

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です