49c603e127
Automatically disables threaded NavigationMesh bake when OS does not support threads.
50 lines
2.8 KiB
XML
50 lines
2.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="NavigationRegion3D" inherits="Node3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
A region of the navigation map.
|
|
</brief_description>
|
|
<description>
|
|
A region of the navigation map. It tells the [NavigationServer3D] what can be navigated and what cannot, based on its [NavigationMesh] resource.
|
|
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 NavigationServer3D.map_set_edge_connection_margin].
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="bake_navigation_mesh">
|
|
<return type="void" />
|
|
<argument index="0" name="on_thread" type="bool" default="true" />
|
|
<description>
|
|
Bakes the [NavigationMesh]. If [code]on_thread[/code] is set to [code]true[/code] (default), the baking is done on a separate thread. Baking on separate thread is useful because navigation baking is not a cheap operation. When it is completed, it automatically sets the new [NavigationMesh]. Please note that baking on separate thread may be very slow if geometry is parsed from meshes as async access to each mesh involves heavy synchronization. Also, please note that baking on a separate thread is automatically disabled on operating systems that cannot use threads (such as HTML5 with threads disabled).
|
|
</description>
|
|
</method>
|
|
<method name="get_region_rid" qualifiers="const">
|
|
<return type="RID" />
|
|
<description>
|
|
Returns the [RID] of this region on the [NavigationServer3D]. Combined with [method NavigationServer3D.map_get_closest_point_owner] can be used to identify the [NavigationRegion3D] closest to a point on the merged navigation map.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
|
|
Determines if the [NavigationRegion3D] is enabled or disabled.
|
|
</member>
|
|
<member name="layers" type="int" setter="set_layers" getter="get_layers" default="1">
|
|
A bitfield determining all layers the region belongs to. These layers can be checked upon when requesting a path with [method NavigationServer3D.map_get_path].
|
|
</member>
|
|
<member name="navmesh" type="NavigationMesh" setter="set_navigation_mesh" getter="get_navigation_mesh">
|
|
The [NavigationMesh] resource to use.
|
|
</member>
|
|
</members>
|
|
<signals>
|
|
<signal name="bake_finished">
|
|
<description>
|
|
Notifies when the navigation mesh bake operation is completed.
|
|
</description>
|
|
</signal>
|
|
<signal name="navigation_mesh_changed">
|
|
<description>
|
|
Notifies when the [NavigationMesh] has changed.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
</class>
|