UnityでUIを作っていると、要素の描画順が思った通りにならないことがありますよね。
ボタンが背景の後ろに隠れてしまったり、テキストが画像の下に表示されてしまったり。
この記事では、UI描画順が決まる仕組みを解説します。
初心者が混乱しやすい設定を整理し、UI設計の基礎理解として説明していきましょう。
- UI描画順が決まる仕組み
- Hierarchy順と描画順の関係
- CanvasのSort Order
- 混乱しやすい設定
- 正しい制御方法

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

UIの描画順は、どのように決まるのでしょうか。
仕組みを説明します。
基本的なルール
UIの描画順は、Hierarchy上の順序で決まります。
上から順番に描画されるため、下にある要素が上に表示されるという仕組みですね。
このルールを理解することが、描画順を制御する第一歩です。
Hierarchy上の順序が、そのまま描画順になるということを覚えておきましょう。
Canvas内での順序
Canvas内での描画順は、Hierarchy上の順序で決まります。
同じCanvas内の要素は、Hierarchy上の順序通りに描画されます。
下にある要素が、上に表示されるというわけですね。
Canvas内での描画順は、Hierarchy上の順序で決まります。
複数のCanvasがある場合
複数のCanvasがある場合、CanvasのSort Orderで表示順が決まります。
Sort Orderが大きいCanvasほど、前に表示されます。
Canvas内の要素は、各Canvas内でHierarchy上の順序で描画されます。
複数のCanvasがある場合、CanvasのSort Orderで表示順が決まります。
Hierarchy順と描画順の関係

Hierarchy上の順序と描画順の関係を、詳しく説明します。
順序の変更方法
Hierarchy上の順序を変更することで、描画順を制御できます。
以下の手順で行います:
- Hierarchyで、UI要素を選択
- ドラッグ&ドロップで、順序を変更
- 下に移動させると、上に表示される
Hierarchy上の順序を変更することで、描画順を簡単に制御できます。
階層構造の影響
Hierarchyの階層構造も、描画順に影響します。
同じ親の子要素同士では、Hierarchy上の順序が描画順になります。
異なる親の子要素同士では、親オブジェクトの順序が優先されます。
階層構造を理解することで、描画順をより細かく制御できます。
スクリプトでの制御
スクリプトで描画順を制御する場合、Transform.SetAsLastSiblingというメソッドを使えます。
このメソッドを使うと、オブジェクトをHierarchyの最後に移動できます。
つまり、一番上に表示されるようになります。
スクリプトで描画順を制御する場合、SetAsLastSiblingが便利です。
CanvasのSort Order

複数のCanvasがある場合、Sort Orderで表示順を制御します。
どのように設定すればいいのでしょうか。
Sort Orderの意味
Sort Orderは、Canvasの表示順を決める数値です。
数値が大きいほど、前に表示されます。
例えば、Sort Orderが10のCanvasは、Sort Orderが5のCanvasよりも前に表示されます。
Sort Orderを設定することで、複数のCanvasの表示順を制御できます。
Sort Orderの設定方法
Sort Orderの設定方法は、以下の通りです:
- Canvasを選択
- Inspectorで「Canvas」コンポーネントを確認
- 「Sort Order」の値を設定
UI用のCanvasには、大きい値を設定することをおすすめします。
Sort Orderを設定することで、複数のCanvasの表示順を制御できます。
推奨される設定
複数のCanvasを使う場合、以下のような設定がおすすめです:
- メインUI:Sort Order = 0
- ポップアップUI:Sort Order = 10
- ダイアログUI:Sort Order = 20
数値に余裕を持たせることで、後から追加するCanvasも適切な位置に配置できます。
数値に余裕を持たせることで、後から調整しやすくなります。
混乱しやすい設定

UIの描画順で、混乱しやすい設定を説明します。
設定1:Hierarchy上の順序と視覚的な順序が逆
Hierarchy上の順序と視覚的な順序が逆になることが、混乱の原因になることがあります。
Hierarchy上で上にある要素が、画面では下に表示されます。
この逆転が、初心者には分かりにくい場合があります。
Hierarchy上の順序と視覚的な順序が逆になることを理解しておきましょう。
設定2:親オブジェクトの順序
親オブジェクトの順序も、描画順に影響します。
親オブジェクトの順序が変わると、その子要素の描画順も変わってしまいます。
この関係性が、初心者には分かりにくい場合があります。
親オブジェクトの順序を意識することで、子要素の描画順も制御できます。
設定3:動的に生成された要素
スクリプトで動的にUI要素を生成した場合、生成順が描画順に影響します。
後から生成された要素が、上に表示されるというわけですね。
動的に生成する場合は、生成順を意識する必要があります。
動的に生成する場合も、生成順を意識することで、描画順を制御できます。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
まとめ

この記事では、UnityでUIの描画順を正しく制御する方法を解説しました。
重要なポイントをおさらいします。
- UI描画順が決まる仕組みとして、Hierarchy上の順序で決まり、上から順番に描画され、下にある要素が上に表示される
- Hierarchy順と描画順の関係として、順序を変更することで描画順を制御でき、階層構造も影響し、スクリプトで制御も可能
- CanvasのSort Orderとして、複数のCanvasがある場合にSort Orderで表示順を制御し、数値が大きいほど前に表示される
- 混乱しやすい設定として、Hierarchy上の順序と視覚的な順序が逆、親オブジェクトの順序、動的に生成された要素などの問題がある
- 描画順の仕組みを理解することで、UIの描画順を正しく制御できるようになる
UIの描画順は、Hierarchy上の順序で決まります。
順序を意識することで、描画順を正しく制御できますよ。
Unity入門の森で、UI設計の基礎理解として、UI描画順を含めたUnityの基礎を体系的に学べます。
初心者が混乱しやすい設定も、丁寧に解説されていますよ。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる


コメント