Godot 4 | ノードの表示順序を変更する

2024-05-12Godot 4,Godot 4 ノード全般

Godot 4 | ノードの表示順序を変更する

ゲームエンジン「Godot 4」でゲームオブジェクトにしているノードの表示順序を変更する方法について紹介しています。

Godotではノードの設置順が表示順序となります。
上にあるノードほどゲーム画面上では背面に表示され、下にあるノードは全面に表示されます。

このノードの順番に関係なく表示順序を変更するには、ノードの「Z Index」プロパティを変更する、または「CanvasLayer」ノードを利用する方法があります。

確認環境
  • Windows11 22H2
  • Godot v4.1.1

Z Index プロパティでノードの表示順序を変更する

「Z Index」プロパティでノードの表示順序を変更する場合、表示順序を変更したいノードのあるノードのインスペクターにて「CanvasItem」「Odering」にある「Z Index」の値を変更します。

Z Index プロパティで表示順序を変更する1
Z Index プロパティで表示順序を変更する1

「Z Index」プロパティの値はマイナス値を含む、値が小さいほど背面に、値が大きいほど全面にノードとその子ノードが表示されるようになります。

例えば、ノードリストでは一番下にあるノードの「Z Index」プロパティを、他のノードより小さくして背面に表示します。

Z Index プロパティで表示順序を変更する2
Z Index プロパティで表示順序を変更する2

CanvasLayer ノードで表示順序を変更する

「CanvasLayer」は、表示順序を変更する用のノードです。

「CanvasLayer」ノードを利用する場合、各ノードまたはノード群の上位に配置します。

CanvasLayerノードの配置場所
CanvasLayerノードの配置場所

「CanvasLayer」ノードは「Layer」プロパティという「Z Index」プロパティと似た仕組みを持っています。

CanvasLayerではLayerプロパティを設定する

表示順序は「CanvasLayer」ノードで設定した「Z Index」プロパティが優先されますので「Z Index」プロパティの値に依存しません。
各ノードの「Z Index」プロパティは「CanvasLayer」ノードの中で表示順序を上下します。