You've already forked godot
							
							
				mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-04 12:00:25 +00:00 
			
		
		
		
	Adds functions to get the navigation mesh Rect2 of a NavigationRegion2D or AABB of a NavigationRegion3D.
		
			
				
	
	
		
			112 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.0" encoding="UTF-8" ?>
 | 
						|
<class name="NavigationRegion2D" inherits="Node2D" experimental="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
 | 
						|
	<brief_description>
 | 
						|
		A traversable 2D region that [NavigationAgent2D]s can use for pathfinding.
 | 
						|
	</brief_description>
 | 
						|
	<description>
 | 
						|
		A traversable 2D region based on a [NavigationPolygon] that [NavigationAgent2D]s can use for pathfinding.
 | 
						|
		Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using [method NavigationServer2D.map_set_edge_connection_margin].
 | 
						|
		[b]Note:[/b] Overlapping two regions' navigation polygons is not enough for connecting two regions. They must share a similar edge.
 | 
						|
		The pathfinding cost of entering a region from another region can be controlled with the [member enter_cost] value.
 | 
						|
		[b]Note:[/b] This value is not added to the path cost when the start position is already inside this region.
 | 
						|
		The pathfinding cost of traveling distances inside this region can be controlled with the [member travel_cost] multiplier.
 | 
						|
		[b]Note:[/b] This node caches changes to its properties, so if you make changes to the underlying region [RID] in [NavigationServer2D], they will not be reflected in this node's properties.
 | 
						|
	</description>
 | 
						|
	<tutorials>
 | 
						|
		<link title="Using NavigationRegions">$DOCS_URL/tutorials/navigation/navigation_using_navigationregions.html</link>
 | 
						|
	</tutorials>
 | 
						|
	<methods>
 | 
						|
		<method name="bake_navigation_polygon">
 | 
						|
			<return type="void" />
 | 
						|
			<param index="0" name="on_thread" type="bool" default="true" />
 | 
						|
			<description>
 | 
						|
				Bakes the [NavigationPolygon]. If [param on_thread] is set to [code]true[/code] (default), the baking is done on a separate thread.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="get_bounds" qualifiers="const">
 | 
						|
			<return type="Rect2" />
 | 
						|
			<description>
 | 
						|
				Returns the axis-aligned rectangle for the region's transformed navigation mesh.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="get_navigation_layer_value" qualifiers="const">
 | 
						|
			<return type="bool" />
 | 
						|
			<param index="0" name="layer_number" type="int" />
 | 
						|
			<description>
 | 
						|
				Returns whether or not the specified layer of the [member navigation_layers] bitmask is enabled, given a [param layer_number] between 1 and 32.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="get_navigation_map" qualifiers="const">
 | 
						|
			<return type="RID" />
 | 
						|
			<description>
 | 
						|
				Returns the current navigation map [RID] used by this region.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="get_region_rid" qualifiers="const" deprecated="Use [method get_rid] instead.">
 | 
						|
			<return type="RID" />
 | 
						|
			<description>
 | 
						|
				Returns the [RID] of this region on the [NavigationServer2D].
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="get_rid" qualifiers="const">
 | 
						|
			<return type="RID" />
 | 
						|
			<description>
 | 
						|
				Returns the [RID] of this region on the [NavigationServer2D]. Combined with [method NavigationServer2D.map_get_closest_point_owner] can be used to identify the [NavigationRegion2D] closest to a point on the merged navigation map.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="is_baking" qualifiers="const">
 | 
						|
			<return type="bool" />
 | 
						|
			<description>
 | 
						|
				Returns [code]true[/code] when the [NavigationPolygon] is being baked on a background thread.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="set_navigation_layer_value">
 | 
						|
			<return type="void" />
 | 
						|
			<param index="0" name="layer_number" type="int" />
 | 
						|
			<param index="1" name="value" type="bool" />
 | 
						|
			<description>
 | 
						|
				Based on [param value], enables or disables the specified layer in the [member navigation_layers] bitmask, given a [param layer_number] between 1 and 32.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
		<method name="set_navigation_map">
 | 
						|
			<return type="void" />
 | 
						|
			<param index="0" name="navigation_map" type="RID" />
 | 
						|
			<description>
 | 
						|
				Sets the [RID] of the navigation map this region should use. By default the region will automatically join the [World2D] default navigation map so this function is only required to override the default map.
 | 
						|
			</description>
 | 
						|
		</method>
 | 
						|
	</methods>
 | 
						|
	<members>
 | 
						|
		<member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
 | 
						|
			Determines if the [NavigationRegion2D] is enabled or disabled.
 | 
						|
		</member>
 | 
						|
		<member name="enter_cost" type="float" setter="set_enter_cost" getter="get_enter_cost" default="0.0">
 | 
						|
			When pathfinding enters this region's navigation mesh from another regions navigation mesh the [member enter_cost] value is added to the path distance for determining the shortest path.
 | 
						|
		</member>
 | 
						|
		<member name="navigation_layers" type="int" setter="set_navigation_layers" getter="get_navigation_layers" default="1">
 | 
						|
			A bitfield determining all navigation layers the region belongs to. These navigation layers can be checked upon when requesting a path with [method NavigationServer2D.map_get_path].
 | 
						|
		</member>
 | 
						|
		<member name="navigation_polygon" type="NavigationPolygon" setter="set_navigation_polygon" getter="get_navigation_polygon">
 | 
						|
			The [NavigationPolygon] resource to use.
 | 
						|
		</member>
 | 
						|
		<member name="travel_cost" type="float" setter="set_travel_cost" getter="get_travel_cost" default="1.0">
 | 
						|
			When pathfinding moves inside this region's navigation mesh the traveled distances are multiplied with [member travel_cost] for determining the shortest path.
 | 
						|
		</member>
 | 
						|
		<member name="use_edge_connections" type="bool" setter="set_use_edge_connections" getter="get_use_edge_connections" default="true">
 | 
						|
			If enabled the navigation region will use edge connections to connect with other navigation regions within proximity of the navigation map edge connection margin.
 | 
						|
		</member>
 | 
						|
	</members>
 | 
						|
	<signals>
 | 
						|
		<signal name="bake_finished">
 | 
						|
			<description>
 | 
						|
				Emitted when a navigation polygon bake operation is completed.
 | 
						|
			</description>
 | 
						|
		</signal>
 | 
						|
		<signal name="navigation_polygon_changed">
 | 
						|
			<description>
 | 
						|
				Emitted when the used navigation polygon is replaced or changes to the internals of the current navigation polygon are committed.
 | 
						|
			</description>
 | 
						|
		</signal>
 | 
						|
	</signals>
 | 
						|
</class>
 |