2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2019-04-01 18:33:56 +08:00
<class name= "GridMap" inherits= "Spatial" category= "Core" version= "3.2" >
2017-09-13 04:42:36 +08:00
<brief_description >
2017-10-08 18:14:09 +08:00
Node for 3D tile-based maps.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2017-10-08 18:14:09 +08:00
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.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
2018-11-05 15:46:27 +08:00
<link > https://docs.godotengine.org/en/latest/tutorials/3d/using_gridmaps.html</link>
2017-09-13 04:42:36 +08:00
</tutorials>
<methods >
<method name= "clear" >
<return type= "void" >
</return>
<description >
2017-10-08 18:14:09 +08:00
Clear all cells.
2017-09-13 04:42:36 +08:00
</description>
</method>
2017-12-18 15:13:58 +08:00
<method name= "clear_baked_meshes" >
<return type= "void" >
</return>
<description >
</description>
</method>
<method name= "get_bake_mesh_instance" >
<return type= "RID" >
</return>
<argument index= "0" name= "idx" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "get_bake_meshes" >
<return type= "Array" >
</return>
<description >
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "get_cell_item" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "x" type= "int" >
</argument>
<argument index= "1" name= "y" type= "int" >
</argument>
<argument index= "2" name= "z" type= "int" >
</argument>
<description >
2019-01-07 17:02:04 +08:00
The [MeshLibrary] item index located at the grid-based X, Y and Z coordinates. If the cell is empty, [constant INVALID_CELL_ITEM] will be returned.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_cell_item_orientation" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "x" type= "int" >
</argument>
<argument index= "1" name= "y" type= "int" >
</argument>
<argument index= "2" name= "z" type= "int" >
</argument>
<description >
2018-09-13 09:38:39 +08:00
The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is returned if the cell is empty.
2017-09-13 04:42:36 +08:00
</description>
</method>
2018-01-03 20:45:03 +08:00
<method name= "get_collision_layer_bit" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<description >
</description>
</method>
<method name= "get_collision_mask_bit" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<description >
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "get_meshes" >
<return type= "Array" >
</return>
<description >
2017-10-08 18:14:09 +08:00
Array of [Transform] and [Mesh] references corresponding to the non empty cells in the grid. The transforms are specified in world space.
2017-09-13 04:42:36 +08:00
</description>
</method>
2017-10-12 05:54:43 +08:00
<method name= "get_used_cells" qualifiers= "const" >
<return type= "Array" >
</return>
<description >
2017-10-08 18:14:09 +08:00
Array of [Vector3] with the non empty cell coordinates in the grid map.
2017-10-12 05:54:43 +08:00
</description>
</method>
2017-12-18 15:13:58 +08:00
<method name= "make_baked_meshes" >
<return type= "void" >
</return>
<argument index= "0" name= "gen_lightmap_uv" type= "bool" default= "false" >
</argument>
<argument index= "1" name= "lightmap_uv_texel_size" type= "float" default= "0.1" >
</argument>
<description >
</description>
</method>
2017-10-21 18:02:08 +08:00
<method name= "map_to_world" qualifiers= "const" >
<return type= "Vector3" >
</return>
<argument index= "0" name= "x" type= "int" >
</argument>
<argument index= "1" name= "y" type= "int" >
</argument>
<argument index= "2" name= "z" type= "int" >
</argument>
<description >
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "resource_changed" >
<return type= "void" >
</return>
<argument index= "0" name= "resource" type= "Resource" >
</argument>
<description >
</description>
</method>
<method name= "set_cell_item" >
<return type= "void" >
</return>
<argument index= "0" name= "x" type= "int" >
</argument>
<argument index= "1" name= "y" type= "int" >
</argument>
<argument index= "2" name= "z" type= "int" >
</argument>
<argument index= "3" name= "item" type= "int" >
</argument>
<argument index= "4" name= "orientation" type= "int" default= "0" >
</argument>
<description >
2017-10-08 18:14:09 +08:00
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.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "set_clip" >
<return type= "void" >
</return>
<argument index= "0" name= "enabled" type= "bool" >
</argument>
<argument index= "1" name= "clipabove" type= "bool" default= "true" >
</argument>
<argument index= "2" name= "floor" type= "int" default= "0" >
</argument>
<argument index= "3" name= "axis" type= "int" enum= "Vector3.Axis" default= "0" >
</argument>
<description >
</description>
</method>
2018-01-03 20:45:03 +08:00
<method name= "set_collision_layer_bit" >
<return type= "void" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<argument index= "1" name= "value" type= "bool" >
</argument>
<description >
</description>
</method>
<method name= "set_collision_mask_bit" >
<return type= "void" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<argument index= "1" name= "value" type= "bool" >
</argument>
<description >
</description>
</method>
2017-10-21 18:02:08 +08:00
<method name= "world_to_map" qualifiers= "const" >
<return type= "Vector3" >
</return>
<argument index= "0" name= "pos" type= "Vector3" >
</argument>
<description >
</description>
</method>
2017-09-13 04:42:36 +08:00
</methods>
2018-01-03 20:45:03 +08:00
<members >
2018-01-12 06:38:35 +08:00
<member name= "cell_center_x" type= "bool" setter= "set_center_x" getter= "get_center_x" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], grid items are centered on the X axis.
2018-01-12 06:38:35 +08:00
</member>
<member name= "cell_center_y" type= "bool" setter= "set_center_y" getter= "get_center_y" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], grid items are centered on the Y axis.
2018-01-12 06:38:35 +08:00
</member>
<member name= "cell_center_z" type= "bool" setter= "set_center_z" getter= "get_center_z" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], grid items are centered on the Z axis.
2018-01-12 06:38:35 +08:00
</member>
<member name= "cell_octant_size" type= "int" setter= "set_octant_size" getter= "get_octant_size" >
The size of each octant measured in number of cells. This applies to all three axis.
</member>
<member name= "cell_scale" type= "float" setter= "set_cell_scale" getter= "get_cell_scale" >
</member>
<member name= "cell_size" type= "Vector3" setter= "set_cell_size" getter= "get_cell_size" >
The dimensions of the grid's cells.
</member>
2018-01-03 20:45:03 +08:00
<member name= "collision_layer" type= "int" setter= "set_collision_layer" getter= "get_collision_layer" >
</member>
<member name= "collision_mask" type= "int" setter= "set_collision_mask" getter= "get_collision_mask" >
</member>
2018-08-30 04:25:11 +08:00
<member name= "mesh_library" type= "MeshLibrary" setter= "set_mesh_library" getter= "get_mesh_library" >
2018-01-12 06:38:35 +08:00
The assigned [MeshLibrary].
</member>
2018-08-30 04:25:11 +08:00
<member name= "theme" type= "MeshLibrary" setter= "set_theme" getter= "get_theme" >
Deprecated, use [member mesh_library] instead.
</member>
2018-01-03 20:45:03 +08:00
</members>
2017-09-13 04:42:36 +08:00
<constants >
2017-11-25 06:16:30 +08:00
<constant name= "INVALID_CELL_ITEM" value= "-1" >
2017-10-08 18:14:09 +08:00
Invalid cell item that can be used in [method set_cell_item] to clear cells (or represent an empty cell in [method get_cell_item]).
2017-09-13 04:42:36 +08:00
</constant>
</constants>
</class>