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

NavMeshQuery.GetPortalPoints

切换到手册
public bool GetPortalPoints (Experimental.AI.PolygonId polygon, Experimental.AI.PolygonId neighbourPolygon, out Vector3 left, out Vector3 right);

参数

polygon第一个导航网格节点
neighbourPolygon第二个导航网格节点
left在两个指定节点之间进行遍历时,必须通过的最终分离边缘的世界点之一。当从第一个节点遍历到第二个节点时,此点位于边缘左侧。
right在两个指定节点之间进行遍历时,必须通过的最终分离边缘的世界点之一。当从第一个节点遍历到第二个节点时,此点位于边缘右侧。

返回

bool 如果两个导航网格节点之间存在连接,则返回 /True/。 如果两个导航网格节点之间不存在连接,则返回 /False/。

描述

获取两个相邻导航网格节点共有线段的端点。

对于导航网格表面上的两个多边形,此方法返回两个多边形相交的边缘。如果这两个多边形位于不同的导航网格瓦片中,则连接的边缘可以具有不同的长度或者具有彼此不同的起点和终点。如果发生这种情况,最终分离边缘将是边缘的重叠部分,它可以比单个边缘中的任何一个都短。

当一个节点是链接而另一个节点是多边形时,返回的点将位于链接与多边形相交的位置。

最终位置在世界空间中表示,并可通过使用 NavMeshQuery.PolygonWorldToLocalMatrix 转换为导航网格的本地空间。