mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	 cc3b69cf7b
			
		
	
	
		cc3b69cf7b
		
			
		
	
	
	
	
		
			
			See https://github.com/godotengine/godot-docs/pull/3863.
(cherry picked from commit c73c327bab)
		
	
			
		
			
				
	
	
		
			244 lines
		
	
	
	
		
			8.9 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			244 lines
		
	
	
	
		
			8.9 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8" ?>
 | |
| <class name="GridMap" inherits="Spatial" version="3.2">
 | |
| 	<brief_description>
 | |
| 		Node for 3D tile-based maps.
 | |
| 	</brief_description>
 | |
| 	<description>
 | |
| 		GridMap lets you place meshes on a grid interactively. It works both from the editor and from scripts, which can help you create in-game level editors.
 | |
| 		GridMaps use a [MeshLibrary] which contains a list of tiles. Each tile is a mesh with materials plus optional collision and navigation shapes.
 | |
| 		A GridMap contains a collection of cells. Each grid cell refers to a tile in the [MeshLibrary]. All cells in the map have the same dimensions.
 | |
| 		Internally, 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.
 | |
| 	</description>
 | |
| 	<tutorials>
 | |
| 		<link>https://docs.godotengine.org/en/latest/tutorials/3d/using_gridmaps.html</link>
 | |
| 	</tutorials>
 | |
| 	<methods>
 | |
| 		<method name="clear">
 | |
| 			<return type="void">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Clear all cells.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<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>
 | |
| 		<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>
 | |
| 				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.
 | |
| 			</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>
 | |
| 				The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is returned if the cell is empty.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_collision_layer_bit" qualifiers="const">
 | |
| 			<return type="bool">
 | |
| 			</return>
 | |
| 			<argument index="0" name="bit" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Returns an individual bit on the [member collision_layer].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_collision_mask_bit" qualifiers="const">
 | |
| 			<return type="bool">
 | |
| 			</return>
 | |
| 			<argument index="0" name="bit" type="int">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Returns an individual bit on the [member collision_mask].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_meshes">
 | |
| 			<return type="Array">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Returns an array of [Transform] and [Mesh] references corresponding to the non-empty cells in the grid. The transforms are specified in world space.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_used_cells" qualifiers="const">
 | |
| 			<return type="Array">
 | |
| 			</return>
 | |
| 			<description>
 | |
| 				Returns an array of [Vector3] with the non-empty cell coordinates in the grid map.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<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>
 | |
| 		<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>
 | |
| 				Returns the position of a grid cell in the GridMap's local coordinate space.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<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>
 | |
| 				Sets the mesh index for the cell referenced by its grid-based X, Y and Z coordinates.
 | |
| 				A negative item index such as [constant INVALID_CELL_ITEM] will clear the cell.
 | |
| 				Optionally, the item's orientation can be passed. For valid orientation values, see [method Basis.get_orthogonal_index].
 | |
| 			</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>
 | |
| 		<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>
 | |
| 				Sets an individual bit on the [member collision_layer].
 | |
| 			</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>
 | |
| 				Sets an individual bit on the [member collision_mask].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="world_to_map" qualifiers="const">
 | |
| 			<return type="Vector3">
 | |
| 			</return>
 | |
| 			<argument index="0" name="pos" type="Vector3">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Returns the coordinates of the grid cell containing the given point.
 | |
| 				[code]pos[/code] should be in the GridMap's local coordinate space.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 	</methods>
 | |
| 	<members>
 | |
| 		<member name="cell_center_x" type="bool" setter="set_center_x" getter="get_center_x" default="true">
 | |
| 			If [code]true[/code], grid items are centered on the X axis.
 | |
| 		</member>
 | |
| 		<member name="cell_center_y" type="bool" setter="set_center_y" getter="get_center_y" default="true">
 | |
| 			If [code]true[/code], grid items are centered on the Y axis.
 | |
| 		</member>
 | |
| 		<member name="cell_center_z" type="bool" setter="set_center_z" getter="get_center_z" default="true">
 | |
| 			If [code]true[/code], grid items are centered on the Z axis.
 | |
| 		</member>
 | |
| 		<member name="cell_octant_size" type="int" setter="set_octant_size" getter="get_octant_size" default="8">
 | |
| 			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" default="1.0">
 | |
| 			The scale of the cell items.
 | |
| 			This does not affect the size of the grid cells themselves, only the items in them. This can be used to make cell items overlap their neighbors.
 | |
| 		</member>
 | |
| 		<member name="cell_size" type="Vector3" setter="set_cell_size" getter="get_cell_size" default="Vector3( 2, 2, 2 )">
 | |
| 			The dimensions of the grid's cells.
 | |
| 			This does not affect the size of the meshes. See [member cell_scale].
 | |
| 		</member>
 | |
| 		<member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1">
 | |
| 			The physics layers this GridMap is in.
 | |
| 			GridMaps act as static bodies, meaning they aren't affected by gravity or other forces. They only affect other physics bodies that collide with them.
 | |
| 		</member>
 | |
| 		<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
 | |
| 			The physics layers this GridMap detects collisions in. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
 | |
| 		</member>
 | |
| 		<member name="mesh_library" type="MeshLibrary" setter="set_mesh_library" getter="get_mesh_library">
 | |
| 			The assigned [MeshLibrary].
 | |
| 		</member>
 | |
| 	</members>
 | |
| 	<signals>
 | |
| 		<signal name="cell_size_changed">
 | |
| 			<argument index="0" name="cell_size" type="Vector3">
 | |
| 			</argument>
 | |
| 			<description>
 | |
| 				Emitted when [member cell_size] changes.
 | |
| 			</description>
 | |
| 		</signal>
 | |
| 	</signals>
 | |
| 	<constants>
 | |
| 		<constant name="INVALID_CELL_ITEM" value="-1">
 | |
| 			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]).
 | |
| 		</constant>
 | |
| 	</constants>
 | |
| </class>
 |