GridMap¶
Inherits: Spatial < Node < Object
Category: Core
Brief Description¶
Node for 3D tile-based maps.
Member Functions¶
void | clear ( ) |
void | clear_baked_meshes ( ) |
RID | get_bake_mesh_instance ( int idx ) |
Array | get_bake_meshes ( ) |
int | get_cell_item ( int x, int y, int z ) const |
int | get_cell_item_orientation ( int x, int y, int z ) const |
bool | get_collision_layer_bit ( int bit ) const |
bool | get_collision_mask_bit ( int bit ) const |
Array | get_meshes ( ) |
Array | get_used_cells ( ) const |
void | make_baked_meshes ( bool gen_lightmap_uv=false, float lightmap_uv_texel_size=0.1 ) |
Vector3 | map_to_world ( int x, int y, int z ) const |
void | resource_changed ( Resource resource ) |
void | set_cell_item ( int x, int y, int z, int item, int orientation=0 ) |
void | set_clip ( bool enabled, bool clipabove=true, int floor=0, int axis=0 ) |
void | set_collision_layer_bit ( int bit, bool value ) |
void | set_collision_mask_bit ( int bit, bool value ) |
Vector3 | world_to_map ( Vector3 pos ) const |
Member Variables¶
- bool cell_center_x - If
true
grid items are centered on the X axis. - bool cell_center_y - If
true
grid items are centered on the Y axis. - bool cell_center_z - If
true
grid items are centered on the Z axis. - int cell_octant_size - The size of each octant measured in number of cells. This applies to all three axis.
- float cell_scale
- Vector3 cell_size - The dimensions of the grid’s cells.
- int collision_layer
- int collision_mask
- MeshLibrary theme - The assigned MeshLibrary.
Numeric Constants¶
- INVALID_CELL_ITEM = -1 — Invalid cell item that can be used in set_cell_item to clear cells (or represent an empty cell in get_cell_item).
Description¶
GridMap lets you place meshes on a grid interactively. It works both from the editor and can help you create in-game level editors.
GridMaps use a MeshLibrary which contain a list of tiles: meshes with materials plus optional collisions and extra elements.
A GridMap contains a collection of cells. Each grid cell refers to a MeshLibrary item. All cells in the map have the same dimensions.
A GridMap is split into a sparse collection of octants for efficient rendering and physics processing. Every octant has the same dimensions and can contain several cells.
Member Function Description¶
- void clear ( )
Clear all cells.
- void clear_baked_meshes ( )
- Array get_bake_meshes ( )
The MeshLibrary item index located at the grid-based X, Y and Z coordinates. If the cell is empty, INVALID_CELL_ITEM will be returned.
The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is retuned if the cell is empty.
- Array get_meshes ( )
Array of Transform and Mesh references corresponding to the non empty cells in the grid. The transforms are specified in world space.
- Array get_used_cells ( ) const
Array of Vector3 with the non empty cell coordinates in the grid map.
- void resource_changed ( Resource resource )
Set the mesh index for the cell referenced by its grid-based X, Y and Z coordinates.
A negative item index will clear the cell.
Optionally, the item’s orientation can be passed.