TileMapLayer 基礎編:複数レイヤーでマップを構築する
Godot Engine バージョン4.4
1. TileMapLayerとは?
Godot 4.4では、従来の
TileMap
ノードが非推奨となり、代わりにTileMapLayer
ノードを使用することが推奨されています。TileMapLayerを使用することで、各レイヤーを独立して管理でき、パフォーマンスの向上や柔軟なマップ設計が可能になります。
2. TileMapLayerの追加方法
新しいシーンを作成し、ルートノードとして
Node2D
を追加します。 Node2D
の子として、TileMapLayer
ノードを追加し、名前をMap
に変更します。 同様に、もう一つの
TileMapLayer
ノードを追加し、名前をObjects
に変更します。これで、
Map
レイヤーには移動可能な地形を、Objects
レイヤーには障害物などの移動不可能なオブジェクトを配置できます。
こちらが二つの
TileMapLayer
を使って作成した例になります!
下記から一つの
TileMapLayer
のみで作成している例があります!
3. タイルセットの設定
各
TileMapLayer
ノードに対して、使用するタイルセット(TileSet
)を設定します。タイルセットは、タイルの画像やコリジョン、ナビゲーション情報などを含むリソースです。タイルセットの作成方法については、Godotの公式ドキュメントを参照してください。
上記で画像に合わせて枠を設定していく、ここで物理判定なども設定可能です。これで準備が完了です。
TileMap
タブを選んでペンをセレクトして、描きたいタイルを選んでマップを作成していきます。
4. タイルの配置
エディタのタイルマップペイントツールを使用して、各レイヤーにタイルを配置します。
Map
レイヤーには床や草原などの移動可能なタイルを、Objects
レイヤーには壁や岩などの移動不可能なタイルを配置します。
5. スクリプトからのレイヤーアクセス
スクリプトから特定のレイヤーにアクセスするには、
get_node()
または関数を使用します。var map_layer = $Mapvar object_layer = $Objects
これで、各レイヤーに対してタイルの取得や設定などの操作が可能になります。
このようにしてTileMapLayerを活用することで、SRPGやタクティカルゲームのようなマップの表現力と管理性が大幅に向上します。
1
100%