W3cubDocs

/Godot 3.1

GridMap

Inherits: Spatial < Node < Object

Category: Core

Brief Description

Node for 3D tile-based maps.

Properties

bool cell_center_x
bool cell_center_y
bool cell_center_z
int cell_octant_size
float cell_scale
Vector3 cell_size
int collision_layer
int collision_mask
MeshLibrary mesh_library
MeshLibrary theme

Methods

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, Vector3.Axis 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

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.

Tutorials

Property Descriptions

bool cell_center_x

Setter set_center_x(value)
Getter get_center_x()

If true, grid items are centered on the X axis.

bool cell_center_y

Setter set_center_y(value)
Getter get_center_y()

If true, grid items are centered on the Y axis.

bool cell_center_z

Setter set_center_z(value)
Getter get_center_z()

If true, grid items are centered on the Z axis.

int cell_octant_size

Setter set_octant_size(value)
Getter get_octant_size()

The size of each octant measured in number of cells. This applies to all three axis.

float cell_scale

Setter set_cell_scale(value)
Getter get_cell_scale()

Vector3 cell_size

Setter set_cell_size(value)
Getter get_cell_size()

The dimensions of the grid’s cells.

int collision_layer

Setter set_collision_layer(value)
Getter get_collision_layer()

int collision_mask

Setter set_collision_mask(value)
Getter get_collision_mask()

MeshLibrary mesh_library

Setter set_mesh_library(value)
Getter get_mesh_library()

The assigned MeshLibrary.

MeshLibrary theme

Setter set_theme(value)
Getter get_theme()

Deprecated, use mesh_library instead.

Method Descriptions

void clear ( )

Clear all cells.

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

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.

int get_cell_item_orientation ( int x, int y, int z ) const

The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is returned if the cell is empty.

bool get_collision_layer_bit ( int bit ) const

bool get_collision_mask_bit ( int bit ) const

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 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 )

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.

void set_clip ( bool enabled, bool clipabove=true, int floor=0, Vector3.Axis 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

© 2014–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
http://docs.godotengine.org/en/3.1/classes/class_gridmap.html