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

NavMeshQuery.GetPortalPoints

建议更改

成功!

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

关闭

投稿失败

由于某种原因,您的建议无法提交。请在大约几分钟后再试一次。感谢您花时间帮助我们提高Unity文档的质量。

关闭

取消

声明

public bool GetPortalPoints(Experimental.AI.PolygonId polygon, Experimental.AI.PolygonId neighbourPolygon, out Vector3 left, out Vector3 right);

参数

polygon 第一个NavMesh节点。
neighbourPolygon 第二个NavMesh节点。
left 结果分离边的一个世界点,当遍历两个指定的节点之间时必须通过。从第一个节点遍历到第二个节点时,该点是边的左侧。
right 结果分离边的一个世界点,当遍历两个指定的节点之间时必须通过。从第一个节点遍历到第二个节点时,该点是边的右侧。

返回值

bool 如果两个NavMesh节点之间存在连接,则为True。如果两个NavMesh节点之间没有连接,则为False

描述

获得两个相邻NavMesh节点共有的线段端点。

对于组成NavMesh表面的两个多边形,此方法返回两个多边形相遇的边。如果两个多边形位于不同的NavMesh瓦片中,相连的边可能长度不同或相对于彼此有不同的起始和结束位置。如果发生这种情况,结果分离边是边的重叠部分,可能比单个边更短。

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

结果位置以世界空间表示,可以使用NavMeshQuery.PolygonWorldToLocalMatrix将其转换为NavMesh的本地空间。

附加资源:NavMeshQuery.GetEdgesAndNeighbors