NavMeshQuery
Object used for doing navigation operations in a NavMeshWorld.
Read time 2 minutesLast updated 10 days ago
Definition
- Type: Struct
- Namespace: UnityEngine.Experimental.AI
- Assembly: UnityEngine.AIModule
- Implements: IDisposable
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 value in the range from 1 to 65,535. After creating a NavMeshQuery, you must call the following methods in this order: , (can be repeated), , . These methods store state data within the NavMeshQuery. Other methods can be called in any order since they do not change state data.
pathNodePoolSizeBeginFindPathUpdateFindPathEndFindPathGetPathResultAll 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 |
|---|---|
| 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 |
| 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 |
| 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. |
| PolygonWorldToLocalMatrix | Returns the inverse transformation matrix of the NavMesh surface that contains the specified NavMesh node. |
| Raycast | Trace a line between two points on the NavMesh, and return the list of polygons through which it passed. |
| UpdateFindPath | Continues a path search that is in progress. |