Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


NavMeshQuery

Object used for doing navigation operations in a NavMeshWorld.
Read time 2 minutesLast updated 10 days ago

Definition

Warning
Deprecated. The experimental NavMeshQuery struct has been deprecated. Use NavWorld instead.
public struct NavMeshQuery : IDisposable

Remarks

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, you must create a NavMeshQuery with a
pathNodePoolSize
value in the range from 1 to 65,535. After creating a NavMeshQuery, you must call the following methods in this order:
BeginFindPath
,
UpdateFindPath
(can be repeated),
EndFindPath
,
GetPathResult
. These methods store state data within the NavMeshQuery. Other methods can be called in any order since they do not change state data.
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.

Constructors

Constructor

Description

NavMeshQuery(UnityEngine.Experimental.AI.NavMeshWorld,Unity.Collections.Allocator,System.Int32)Creates the NavMeshQuery object and allocates memory to store NavMesh node information, if required.

Methods

Method

Description

BeginFindPathInitiates a pathfinding operation between two locations on the NavMesh.
CreateLocationReturns a valid NavMeshLocation for a position and a polygon provided by the user.
DisposeDestroys the NavMeshQuery and deallocates all memory used by it.
EndFindPathObtains the number of nodes in the path that has been computed during a successful NavMeshQuery.UpdateFindPath operation.
GetAgentTypeIdForPolygonReturns the identifier of the agent type the NavMesh was baked for or for which the link has been configured.
GetEdgesAndNeighborsRetrieves the vertices of a given
node
and the identifiers of all the navigation nodes to which it connects.
GetPathResultCopies into the provided array the list of NavMesh nodes that form the path found by the NavMeshQuery operation.
GetPolygonTypeReturns whether the NavMesh node is a polygon or a link.
GetPortalPointsObtains the end points of the line segment common to two adjacent NavMesh nodes.
IsValidReturns
true
if the node referenced by the PolygonId contained in the NavMeshLocation is active in the NavMesh.
MapLocationFinds the closest point and PolygonId on the NavMesh for a given world position.
MoveLocationTranslates a NavMesh location to another position without losing contact with the surface.
MoveLocationsTranslates a series of NavMesh locations to other positions without losing contact with the surface.
MoveLocationsInSameAreasTranslates a series of NavMesh locations to other positions without losing contact with the surface, given one common area filter for all of them.
PolygonLocalToWorldMatrixReturns the transformation matrix of the NavMesh surface that contains the specified NavMesh node.
PolygonWorldToLocalMatrixReturns the inverse transformation matrix of the NavMesh surface that contains the specified NavMesh node.
RaycastTrace a line between two points on the NavMesh, and return the list of polygons through which it passed.
UpdateFindPathContinues a path search that is in progress.