<?xml version="1.0" encoding="UTF-8" ?> <class name="Navigation" inherits="Spatial" category="Core" version="3.1"> <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>