Version: 2022.3
Experimental: this API is experimental and might be changed or removed in the future.

NavMeshLocation

struct in UnityEngine.Experimental.AI

切换到手册

描述

世界位置,保证位于导航网格表面上。

NavMeshLocation 会存储导航网格表面上的位置,以及包含相应位置的导航网格节点的 PolygonId。如果将 NavMeshLocations 与 NavMeshQuery 操作结合使用,将无需在每次操作开始时将所需世界位置投射到导航网格。

在以下两种情况下,NavMeshLocation 可能会无效: 1. 创建为空,而非 NavMeshQuery 操作的结果时。 2. 导航网格已在指示位置或其邻近位置被删除或修改时。

如果 NavMeshLocation 因 NavMeshObstacle 在导航网格的邻近位置对其进行雕刻而变得无效,则在删除 NavMeshObstacle 时,NavMeshLocation 会返回有效状态。这是因为删除 NavMeshObstacle 会将导航网格恢复为其原始形式,而不是重新生成。

另请参阅:NavMeshQuery.MapLocationNavMeshQuery.IsValidPolygonId

变量

polygon世界位置已映射到的导航网格中节点的唯一标识符。
position世界位置,精确地位于导航网格表面或其链接上。