2022-01-31 00:39:52 +01:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-12-17 20:12:00 +01:00
<class name= "NavigationLink3D" inherits= "Node3D" is_experimental= "true" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2022-01-31 00:39:52 +01:00
<brief_description >
2022-12-06 23:32:11 +01:00
Creates a link between two positions that [NavigationServer3D] can route agents through.
2022-01-31 00:39:52 +01:00
</brief_description>
<description >
2023-02-17 17:30:22 +01:00
Creates a link between two positions that [NavigationServer3D] can route agents through. Links can be used to express navigation methods that aren't just traveling along the surface of the navigation mesh, like zip-lines, teleporters, or jumping across gaps.
2022-01-31 00:39:52 +01:00
</description>
<tutorials >
2023-01-11 06:05:04 +01:00
<link title= "Using NavigationLinks" > $DOCS_URL/tutorials/navigation/navigation_using_navigationlinks.html</link>
2022-01-31 00:39:52 +01:00
</tutorials>
<methods >
2023-02-13 13:18:13 +01:00
<method name= "get_global_end_position" qualifiers= "const" >
<return type= "Vector3" />
<description >
Returns the [member end_position] that is relative to the link as a global position.
</description>
</method>
<method name= "get_global_start_position" qualifiers= "const" >
<return type= "Vector3" />
<description >
Returns the [member start_position] that is relative to the link as a global position.
</description>
</method>
2022-01-31 00:39:52 +01:00
<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 [code]layer_number[/code] between 1 and 32.
</description>
</method>
2023-02-13 13:18:13 +01:00
<method name= "set_global_end_position" >
<return type= "void" />
<param index= "0" name= "position" type= "Vector3" />
<description >
Sets the [member end_position] that is relative to the link from a global [param position].
</description>
</method>
<method name= "set_global_start_position" >
<return type= "void" />
<param index= "0" name= "position" type= "Vector3" />
<description >
Sets the [member start_position] that is relative to the link from a global [param position].
</description>
</method>
2022-01-31 00:39:52 +01:00
<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 [code]value[/code], enables or disables the specified layer in the [member navigation_layers] bitmask, given a [code]layer_number[/code] between 1 and 32.
</description>
</method>
</methods>
<members >
<member name= "bidirectional" type= "bool" setter= "set_bidirectional" getter= "is_bidirectional" default= "true" >
2022-12-06 23:32:11 +01:00
Whether this link can be traveled in both directions or only from [member start_position] to [member end_position].
2022-01-31 00:39:52 +01:00
</member>
<member name= "enabled" type= "bool" setter= "set_enabled" getter= "is_enabled" default= "true" >
Whether this link is currently active. If [code]false[/code], [method NavigationServer3D.map_get_path] will ignore this link.
</member>
2022-12-06 23:32:11 +01:00
<member name= "end_position" type= "Vector3" setter= "set_end_position" getter= "get_end_position" default= "Vector3(0, 0, 0)" >
2022-01-31 00:39:52 +01:00
Ending position of the link.
This position will search out the nearest polygon in the navigation mesh to attach to.
The distance the link will search is controlled by [method NavigationServer3D.map_set_link_connection_radius].
</member>
<member name= "enter_cost" type= "float" setter= "set_enter_cost" getter= "get_enter_cost" default= "0.0" >
2022-12-11 18:02:35 +01:00
When pathfinding enters this link from another regions navigation mesh the [code]enter_cost[/code] value is added to the path distance for determining the shortest path.
2022-01-31 00:39:52 +01:00
</member>
<member name= "navigation_layers" type= "int" setter= "set_navigation_layers" getter= "get_navigation_layers" default= "1" >
A bitfield determining all navigation layers the link belongs to. These navigation layers will be checked when requesting a path with [method NavigationServer3D.map_get_path].
</member>
2022-12-06 23:32:11 +01:00
<member name= "start_position" type= "Vector3" setter= "set_start_position" getter= "get_start_position" default= "Vector3(0, 0, 0)" >
2022-01-31 00:39:52 +01:00
Starting position of the link.
This position will search out the nearest polygon in the navigation mesh to attach to.
The distance the link will search is controlled by [method NavigationServer3D.map_set_link_connection_radius].
</member>
<member name= "travel_cost" type= "float" setter= "set_travel_cost" getter= "get_travel_cost" default= "1.0" >
When pathfinding moves along the link the traveled distance is multiplied with [code]travel_cost[/code] for determining the shortest path.
</member>
</members>
</class>