Object used for doing navigation operations in a NavMeshWorld.
NavMeshQuery operations can be executed inside jobs (IJob, IJobParallelFor), as opposed to the operations in the NavMesh-related structures.
To obtain a path between two locations on the NavMesh, the query must have been created with a pathNodePoolSize
value greater than 0 and the following methods need to be called in sequence: BeginFindPath
, UpdateFindPath
(repeatedly, if necessary), EndFindPath
, GetPathResult
. These methods rely on storing some state data inside the NavMeshQuery but all the other methods do not change the object's state and can be called any time.
All methods throw exceptions if any of their parameters are not valid when executed in the Editor.
Note: The intended feature set for NavMeshQuery is not yet fully complete.
NavMeshQuery | Creates the NavMeshQuery object and allocates memory to store NavMesh node information, if required. |
BeginFindPath | Initiates a pathfinding operation between two locations on the NavMesh. |
CreateLocation | Returns a valid NavMeshLocation for a position and a polygon provided by the user. |
Dispose | Destroys the NavMeshQuery and deallocates all memory used by it. |
EndFindPath | Obtains the number of nodes in the path that has been computed during a successful NavMeshQuery.UpdateFindPath operation. |
GetAgentTypeIdForPolygon | Returns the identifier of the agent type the NavMesh was baked for or for which the link has been configured. |
GetEdgesAndNeighbors | Retrieves the vertices of a given node and the identifiers of all the navigation nodes to which it connects. |
GetPathResult | Copies into the provided array the list of NavMesh nodes that form the path found by the NavMeshQuery operation. |
GetPolygonType | Returns whether the NavMesh node is a polygon or a link. |
GetPortalPoints | Obtains the end points of the line segment common to two adjacent NavMesh nodes. |
IsValid | Returns true if the node referenced by the specified PolygonId is active in the NavMesh. |
MapLocation | Finds the closest point and PolygonId on the NavMesh for a given world position. |
MoveLocation | Translates a NavMesh location to another position without losing contact with the surface. |
MoveLocations | Translates a series of NavMesh locations to other positions without losing contact with the surface. |
MoveLocationsInSameAreas | Translates a series of NavMesh locations to other positions without losing contact with the surface, given one common area filter for all of them. |
PolygonLocalToWorldMatrix | Returns the transformation matrix of the NavMesh surface that contains the specified NavMesh node (Read Only). |
PolygonWorldToLocalMatrix | Returns the inverse transformation matrix of the NavMesh surface that contains the specified NavMesh node (Read Only). |
Raycast | Trace a line between two points on the NavMesh. |
UpdateFindPath | Continues a path search that is in progress. |