505ace250d
This feature makes it possible to workaround problems such as: - long baking time due to heavy synchronization when parsing geometry from mesh instances - crash when freeing `NavigationMeshInstance` while baking - errors when actively baking node tree is being detached from the scene tree
49 lines
2.2 KiB
XML
49 lines
2.2 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="NavigationMeshInstance" inherits="Spatial" version="3.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
An instance of a [NavigationMesh].
|
|
</brief_description>
|
|
<description>
|
|
An instance of a [NavigationMesh]. It tells the [Navigation] node what can be navigated and what cannot, based on the [NavigationMesh] resource. This should be a child of a [Navigation] node.
|
|
</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.
|
|
</description>
|
|
</method>
|
|
<method name="get_region_rid" qualifiers="const">
|
|
<return type="RID" />
|
|
<description>
|
|
Returns the [RID] of this region on the [NavigationServer]. Combined with [method NavigationServer.map_get_closest_point_owner] can be used to identify the [NavigationMeshInstance] 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 [NavigationMeshInstance] is enabled or disabled.
|
|
</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>
|
|
<constants>
|
|
</constants>
|
|
</class>
|