Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Using GridMaps¶
はじめに¶
Gridmaps は、3Dゲームレベルを作成するためのツールで、TileMap が2Dで行う動作と似ています。 3Dメッシュの事前定義されたコレクション(MeshLibrary)から開始します。これは、無制限の量のLegoブロックでレベルを構築しているかのように、グリッドに配置できます。
タイルマップのタイルで行うのと同じように、コリジョンとナビゲーションをメッシュに追加できます。
サンプル・プロジェクト¶
To learn how GridMaps work, start by downloading the sample project: gridmap_starter.zip.
このプロジェクトを解凍してから、『インポート』ボタンでプロジェクトマネージャーに追加します。
MeshLibraryの作成¶
To begin, you need a MeshLibrary, which is a collection of individual meshes that can be used in the gridmap. Open the "mesh_library_source.tscn" scene to see an example of how to set up the mesh library.
As you can see, this scene has a Node3D node as its root, and a number of MeshInstance3D node children.
もし、あなたのシーンに物理演算が不要であれば、これで完了です。しかし、ほとんどの場合はメッシュにコリジョンを追加したくなるでしょう。
コリジョン¶
You can manually assign a StaticBody3D and CollisionShape3D to each mesh. Alternatively, you can use the "Mesh" menu to automatically create the collision body based on the mesh data.
シンプルなメッシュには『凸状』コリジョン ボディのほうが合うでしょう。より複雑な形なら『静的三角形メッシュの作成』を選択します。それぞれのメッシュに物理ボディとコリジョン シェイプが割り当てられたら、メッシュ ライブラリは使えるようになります。
マテリアル¶
メッシュライブラリの生成時には、メッシュ内にあるマテリアルのみが使用され、ノードに設定したマテリアルは無視されます。
MeshLibraryのエクスポート¶
To export the library, click on Scene > Export As... > MeshLibrary..., and save it as a resource.
"MeshLibrary.tres" という名前のプロジェクトで、既にエクスポートされたMeshLibraryを見つけることができます。
GridMap(グリッドマップ)の使用¶
新しいシーンを作成し、GridMapノードを追加します。 ファイルシステムドックからリソースファイルをドラッグし、インスペクタの[Theme]プロパティにドロップして、メッシュライブラリを追加します。
"Cell/Size"プロパティは、メッシュのサイズに設定する必要があります。 デモのデフォルト値のままにしておくことができます。"Center Y"プロパティを"Off"に設定します。
Now you can start designing the level by choosing a tile from the palette and placing it with Left-Click in the editor window. Use Right-click to remove a tile.
Use the arrows next to the "GridMap" menu to change the floor that you are working on.
[グリッドマップ]メニューをクリックして、オプションとショートカットを表示します。たとえば、S を押すと、タイルがy軸を中心に回転します。
Shift を押しながらマウスの左ボタンでドラッグすると、選択ボックスが描画されます。 それぞれのメニューオプションを使用して、選択した領域を複製または消去できます。
メニューでは、描画する軸を変更したり、描画面をその軸で上下に移動することもできます。
コードでのGridMapの使用¶
ノードのメソッドとメンバー変数の詳細については、GridMap を参照してください。