Skip to content

Commit

Permalink
Clarify MeshLibrary format and constraints
Browse files Browse the repository at this point in the history
  • Loading branch information
tetrapod00 committed Dec 16, 2024
1 parent 19f5643 commit a79a41c
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions tutorials/3d/using_gridmaps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,29 @@ additional nodes can be added as source geometry just for baking the navmesh.
The baked cell size of the NavigationMesh must match the NavigationServer map cell
size to properly merge the navigation meshes of different grid cells.

MeshLibrary format
------------------

To summarize the specific constraints of the MeshLibrary format, a MeshLibrary
scene has a Node3D as the root node, and several child nodes which will become
MeshLibrary items. Each child of the root node should:

- Be a :ref:`class_MeshInstance3D`, which will become the MeshLibrary item. Only
this visual mesh will be exported.
- Have a material, in the mesh's material slot, *not* the MeshInstance3D's
material slots.
- Have up to one :ref:`class_StaticBody3D` child, for collision. The
StaticBody3D should have one or more :ref:`class_CollisionShape3D` children.
- Have up to one :ref:`class_NavigationRegion3D` child, for navigation. The
NavigationRegion3D can have one or more additional :ref:`class_MeshInstance3D`
children, which can be baked for navigation, but won't be exported as a visual
mesh.

Only this specific format is recognized. Other node types placed as children
will not be recognized and exported. GridMap is not a general-purpose system for
placing *nodes* on a grid, but rather a specific, optimized system, designed to
place *meshes* with collisions and navigation.

Exporting the MeshLibrary
-------------------------

Expand Down

0 comments on commit a79a41c

Please sign in to comment.