summaryrefslogtreecommitdiff
path: root/doc/classes/Navigation.xml
blob: d0d9a961e7f611179062c79b03ab31c987b2228a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Navigation" inherits="Spatial" category="Core" version="3.0-rc1">
	<brief_description>
		A collection of [code]NavigationMesh[/code] resources and methods used for pathfinding.
	</brief_description>
	<description>
		The Navigation node is used for basic or advanced navigation. By default it will automatically collect all child [code]NavigationMesh[/code] resources, but they can also be added on the fly through scripting. It can be used for generating a simple path between two points or it can be used to ensure that a navigation agent is angled perfectly to the terrain it is navigating.
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="get_closest_point">
			<return type="Vector3">
			</return>
			<argument index="0" name="to_point" type="Vector3">
			</argument>
			<description>
				Returns the closest navigation point to the point passed.
			</description>
		</method>
		<method name="get_closest_point_normal">
			<return type="Vector3">
			</return>
			<argument index="0" name="to_point" type="Vector3">
			</argument>
			<description>
				Returns the surface normal of the navigation mesh at the point passed. For instance, if the point passed was at a 45 degree slope it would return something like (0.5,0.5,0). This is useful for rotating a navigation agent in accordance with the [code]NavigationMesh[/code].
			</description>
		</method>
		<method name="get_closest_point_owner">
			<return type="Object">
			</return>
			<argument index="0" name="to_point" type="Vector3">
			</argument>
			<description>
				Returns the nearest [code]NavigationMeshInstance[/code] to the point passed.
			</description>
		</method>
		<method name="get_closest_point_to_segment">
			<return type="Vector3">
			</return>
			<argument index="0" name="start" type="Vector3">
			</argument>
			<argument index="1" name="end" type="Vector3">
			</argument>
			<argument index="2" name="use_collision" type="bool" default="false">
			</argument>
			<description>
				Returns the nearest point to the line segment passed. The third optional parameter takes collisions into account.
			</description>
		</method>
		<method name="get_simple_path">
			<return type="PoolVector3Array">
			</return>
			<argument index="0" name="start" type="Vector3">
			</argument>
			<argument index="1" name="end" type="Vector3">
			</argument>
			<argument index="2" name="optimize" type="bool" default="true">
			</argument>
			<description>
				Returns a path of points as a [code]PoolVector3Array[/code]. If [code]optimize[/code] is false the [code]NavigationMesh[/code] agent properties will be taken into account, otherwise it will return the nearest path and ignore agent radius, height, etc.
			</description>
		</method>
		<method name="navmesh_add">
			<return type="int">
			</return>
			<argument index="0" name="mesh" type="NavigationMesh">
			</argument>
			<argument index="1" name="xform" type="Transform">
			</argument>
			<argument index="2" name="owner" type="Object" default="null">
			</argument>
			<description>
				Adds a [code]NavigationMesh[/code] to the list of NavigationMesh's in this node. Returns an id. Its position, rotation and scale are associated with the [code]Transform[/code] passed. The [code]Node[/code] (or [code]Object[/code]) that owns this node is an optional parameter.
			</description>
		</method>
		<method name="navmesh_remove">
			<return type="void">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
				Removes a [code]NavigationMesh[/code] from the list of NavigationMesh's in this node.
			</description>
		</method>
		<method name="navmesh_set_transform">
			<return type="void">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="xform" type="Transform">
			</argument>
			<description>
				Associates a [code]NavigationMesh[/code]'s id with a [code]Transform[/code]. Its position, rotation and scale are based on the [code]Transform[/code] passed.
			</description>
		</method>
	</methods>
	<members>
		<member name="up_vector" type="Vector3" setter="set_up_vector" getter="get_up_vector">
			Defines which direction is up. The default defines 0,1,0 as up which is the world up direction. To make this a ceiling use 0,-1,0 to define down as up.
		</member>
	</members>
	<constants>
	</constants>
</class>