Unityで2Dゲームを作っていると、キャラクターが背景の後ろに隠れてしまったり、表示順がおかしくなることがありますよね。
これはSorting Layerの設定が原因かもしれません。
この記事では、Sorting Layerの役割とOrder in
Layerの関係を初心者向けに解説します。
スプライト表示順が崩れる原因を整理し、2D制作で必須の基礎知識として説明していきましょう。
- Sorting Layerとは何か
- Order in Layerとの関係
- 表示順が崩れる原因
- 対処法と設定方法
- 2D制作での使い方

設定を理解すれば、表示順の問題は簡単に解決できますよ。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
Sorting Layerとは

Sorting Layerは、2Dオブジェクトの表示順を制御するための機能です。
Unityでは、複数のスプライトを画面に表示する際、どの順番で描画するかを決める必要があります。
Sorting Layerの役割
Sorting Layerの役割は、以下の通りです:
- 表示順の制御:スプライトをどの順番で描画するかを制御
- レイヤーの分類:背景、キャラクター、UIなどを分類
- 描画の優先順位:どのレイヤーを先に描画するかを決定
Sorting Layerを使うことで、2Dオブジェクトの表示順を管理できます。
なぜ必要なのか
Unityでは、デフォルトでZ軸(奥行き)による表示順の判定が行われます。
ただし、2DゲームではZ軸の概念が分かりにくいため、Sorting
Layerを使った方が直感的です。
以下のような場面で役立ちます:
- 背景とキャラクターの表示順:キャラクターを背景の前に表示
- 複数のキャラクターの表示順:複数のキャラクターの前後関係
- エフェクトの表示順:エフェクトを適切な位置に表示
2Dゲームでは、Sorting Layerが表示順を管理する基本となります。
Order in Layerとの関係

Sorting Layerと一緒に使われるのが、Order in Layerです。
この2つの関係を理解することが大切です。
Order in Layerとは
Order in Layerは、同じSorting Layer内での表示順を決める数値です。
以下のような特徴があります:
- 数値で制御:数値が大きいほど前に表示される
- 同じLayer内での順序:同じSorting Layer内でのみ有効
- 細かい調整に使う:同じLayer内で細かく順序を調整
Order in Layerは、同じSorting Layer内での細かい調整に使います。
Sorting LayerとOrder in Layerの関係
Sorting LayerとOrder in Layerの関係は、以下の通りです:
- Sorting Layerが優先:まずSorting Layerの順序で判定
- Order in Layerは補助:同じSorting Layer内での順序調整
- 組み合わせて使用:2つを組み合わせて表示順を制御
まずSorting Layerで大まかな分類をして、Order in
Layerで細かく調整するという流れですね。
具体例
具体例を挙げて説明しましょう。
以下のような設定を考えてみます:
-
Background(Sorting Layer):背景用のLayer、Order in Layer
= 0 -
Character(Sorting Layer):キャラクター用のLayer、Order in
Layer = 0 -
Effect(Sorting Layer):エフェクト用のLayer、Order in
Layer = 0
この場合、CharacterのLayerがBackgroundのLayerより後(上)に設定されていれば、キャラクターが背景の前に表示されます。
同じCharacter Layer内で複数のキャラクターがある場合、Order in
Layerの数値で前後関係を調整できるというわけです。
表示順が崩れる原因

2Dゲームで表示順が崩れる原因は、いくつかあります。
よくある原因を説明しましょう。
原因1:Sorting Layerが設定されていない
Sorting Layerが設定されていない場合、Z軸での判定が行われます。
Z軸の値が同じだと、表示順が不安定になることがあります。
以下のような問題が発生します:
- 表示順が予測できない:同じZ値の場合は、順序が不定
- キャラクターが背景に隠れる:Z軸の値が背景より後ろにある
- 複数のキャラクターの順序が崩れる:Z軸だけでは管理が難しい
Sorting Layerを設定することで、これらの問題を解決できます。
原因2:Sorting Layerの順序が間違っている
Sorting Layerの順序が間違っている場合、意図した表示順にならないことがあります。
Unityでは、Sorting Layerのリストの上にあるものが先に描画されます。
つまり、リストの下にあるLayerが、画面の前に表示されるということです。
Layerの順序を間違えると、キャラクターが背景の後ろに隠れてしまいます。
原因3:Order in Layerの値が適切でない
Order in Layerの値が適切でない場合、同じLayer内での表示順が崩れます。
例えば、キャラクターAのOrder in Layerが0で、キャラクターBのOrder in
Layerが-1の場合、キャラクターAが前に表示されます。
数値を間違えると、意図した順序にならないので注意が必要ですね。
対処法と設定方法

表示順の問題を解決するには、Sorting Layerを適切に設定する必要があります。
設定方法を説明しましょう。
Sorting Layerの作成
まず、Sorting Layerを作成します。
以下の手順で行います:
- 「Edit → Project Settings → Tags and Layers」を開く
- 「Sorting Layers」セクションを開く
- 「+」ボタンをクリックして、新しいLayerを追加
- Layer名を入力(例:Background、Character、Effectなど)
用途に応じて、複数のSorting Layerを作成すると便利です。
スプライトにSorting Layerを設定
作成したSorting Layerを、スプライトに設定します。
以下の手順で行います:
- スプライトを選択
- Inspectorで「Sprite Renderer」コンポーネントを確認
- 「Sorting Layer」を設定(ドロップダウンから選択)
- 必要に応じて「Order in Layer」を設定
各スプライトに適切なSorting Layerを設定すれば、表示順が正しくなります。
推奨される設定
2Dゲームでは、以下のようなSorting Layerの構成がおすすめです:
- Background:背景用(最下層)
- Character:キャラクター用
- Effect:エフェクト用
- UI:UI用(最上層、ただしCanvasを使う場合は別途設定)
この構成なら、背景→キャラクター→エフェクト→UIの順で描画されるようになります。
2D制作での使い方

2Dゲーム制作では、Sorting Layerをどのように使えばいいのでしょうか。
実践的な使い方を説明します。
パターン1:背景とキャラクター
背景とキャラクターを分ける場合、以下のように設定します:
- Background Layer:背景のスプライトを設定
- Character Layer:キャラクターのスプライトを設定
これで、キャラクターが背景の前に表示されるようになります。
最も基本的な使い方なので、まずはこのパターンから覚えましょう。
パターン2:複数のキャラクター
複数のキャラクターを表示する場合、同じCharacter Layerを使い、Order in
Layerで調整します。
例えば、以下のように設定します:
-
プレイヤーキャラクター:Character Layer、Order in Layer =
10 - 敵キャラクター(手前):Character Layer、Order in Layer = 5
- 敵キャラクター(奥):Character Layer、Order in Layer = 0
Order in
Layerの値が大きいほど前に表示されるので、プレイヤーが一番前に来るようになります。
パターン3:エフェクトの表示
エフェクトを表示する場合、Effect Layerを使います。
キャラクターの前に表示したいエフェクトと、後ろに表示したいエフェクトがある場合は、Order
in Layerで調整するか、別のLayerを作成する方法があります。
エフェクトの種類に応じて、適切なLayerとOrderを設定しましょう。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
まとめ

この記事では、UnityのSorting Layerを初心者向けに解説しました。
重要なポイントをおさらいします。
-
Sorting
Layerは2Dオブジェクトの表示順を制御する機能で、背景、キャラクター、エフェクトなどを分類して管理する -
Order in Layerは同じSorting Layer内での表示順を決める数値で、Sorting
Layerで大まかな分類をして、Order in Layerで細かく調整する -
表示順が崩れる原因として、Sorting Layerが設定されていない、Sorting
Layerの順序が間違っている、Order in Layerの値が適切でないなどがある -
対処法として、Sorting
Layerを作成し、各スプライトに適切なLayerとOrderを設定することで、表示順の問題を解決できる - 2D制作では、Background、Character、Effect、UIなどのLayerを用意し、用途に応じて使い分けることが大切
Sorting Layerは、2Dゲーム制作では必須の知識です。
設定を理解すれば、表示順の問題は簡単に解決できますよ。
Unity入門の森で、Sorting Layerを含めた2D制作の基礎を体系的に学べます。
あなたのペースで、少しずつ進めていけば大丈夫です。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる



コメント