版本: 2022.3
语言英文
  • C#
实验性: 此API是实验性的,可能会在未来进行更改或删除。

NavMeshQuery

Unityrim Amateur科隆渊素领域的一个结构体

/

实现于:UnityEngine.AIModule

建议更改

成功!

感谢您帮助我们提高Unity文档的质量。虽然我们无法接受所有投稿,但我们确实会阅读每位用户提出的建议,并根据适用情况做出更新。

关闭

提交失败

由于某些原因,您提出的更改无法提交。请稍后再试。并感谢您抽出时间帮助我们提高Unity文档的质量。

关闭

取消

描述

用于在NavMeshWorld中执行导航操作的对象。

NavMeshQuery操作可以在IJobIJobParallelFor等作业内执行,而不是在相关的NavMesh结构中执行操作。

要在NavMesh上的两个位置之间获取路径,您必须创建一个具有1到65,535之间pathNodePoolSize值的NavMeshQuery。创建NavMeshQuery后,您必须按以下顺序调用以下方法:BeginFindPathUpdateFindPath(可重复),EndFindPathGetPathResult。这些方法在NavMeshQuery中存储状态数据。其他方法可以按任何顺序调用,因为它们不会更改状态数据。

如果在其编辑器中执行时,任何参数无效,则所有方法都会抛出异常。

注意:NavMeshQuery计划的功能集尚未全部完成。

构造函数

NavMeshQuery创建NavMeshQuery对象并分配内存以存储NavMesh节点信息(如果需要)。

公共方法

BeginFindPath在NavMesh上的两个位置之间启动路径查找操作。
CreateLocation返回用户提供的位置和多边形的Valid NavMeshLocation。
Dispose销毁NavMeshQuery并释放它使用的所有内存。
EndFindPath获取在NavMeshQuery.UpdateFindPath操作期间成功计算出的路径中的节点数。
GetAgentTypeIdForPolygon返回NavMesh烘焙时的代理类型标识符或配置的链接。
GetEdgesAndNeighbors检索给定节点的顶点和连接到所有导航节点的标识符。
GetPathResult将NavMeshQuery操作找到的路径形成的NavMesh节点列表复制到提供的数组中。
GetPolygonType返回NavMesh节点是多边形还是链接。
GetPortalPoints获取两个相邻NavMesh节点共有的线段端点。
IsValid如果指定的PolygonId引用的节点在NavMesh中活动,则返回true。
MapLocation在NavMesh上查找给定世界位置的最接近点及PolygonId。
MoveLocation将NavMesh位置移动到另一个位置,而不失去与表面的接触。
MoveLocations将一系列NavMesh位置移动到其他位置,而不失去与表面的接触。
MoveLocationsInSameAreas给定一个公共区域过滤器,将一系列NavMesh位置移动到其他位置,而不失去与表面的接触。
PolygonLocalToWorldMatrix获取包含指定NavMesh节点的NavMesh表面的变换矩阵(只读)。
PolygonWorldToLocalMatrix获取包含指定NavMesh节点的NavMesh表面的逆变换矩阵(只读)。
Raycast在NavMesh上画一条连接两个点的线。
UpdateFindPath继续进行中的路径搜索。