bekostation

Unityでゲーム作ってます

UnityのAnimation機能で2Dアニメを作ろう(2D画像の表示順番編)

動作環境・・Unity2017.2.1f1

身内のデザイン担当に向けた記事ですので悪しからず・・

 

2D画像の表示順番について

 

通常何も設定せずに画像を置くと表示順番は意図しない形で表示されます。

同じLayerに置かれているような状態です。

f:id:bekotaizi:20171230001820p:plain

 

2D画像の表示順の変更(SortingLayer)

SortingLayerという機能を使用します。(エディタ右上のLayer機能はまた別。)

先ず、初期状態ですと表示順分け用のLayerが設定されてません。

ですので設定をしていきます。

 

1.SortingLayerのボタンを押します(初期状態はDefault)

2.次にAddSortingLayerを選択します。

f:id:bekotaizi:20171230003646p:plain

次に以下のボタンを押します

f:id:bekotaizi:20171230004038p:plain

するとSortingLayer登録用の欄が追加されますので記入します。

f:id:bekotaizi:20171230004144p:plain

 

以上の作業を繰り返し幾つかSortingLayerを記入しましょう。 

 

SortingLayer記入が終わりました。

基本的にSortingLayerが下に行くにつれて表示順が前面に表示されるようになります。

f:id:bekotaizi:20171230004553p:plain

 

次に各オブジェクトにSortingLayerを設定をしていきます。

 

先ず背景用オブジェクトにBackgroundを

f:id:bekotaizi:20171230004713p:plain

 

次に主人公と地面にPlayerを

f:id:bekotaizi:20171230004746p:plain

そして、主人公や地面より前面に表示したいオブジェクトにFrontを

f:id:bekotaizi:20171230004806p:plain

 

最後にUI用画像にUIを

 

(UIについてはUnityに専用の機能があるので、

自作UIボタンでも作らないと通常はやらないと思う)

f:id:bekotaizi:20171230004834p:plain

 

2D画像の表示順の変更(Order in Layer)

f:id:bekotaizi:20171230010634p:plain

 

基本的にSortingLayerの表示順の方が優先されますが、同じSortingLayer内の場合

Order in Layerの設定が適用されます。Order in Layerの値が大きいほど前面に、 

少ないほど後面にオブジェクトが表示されます。