Объявление
public bool GetPortalPoints(Experimental.AI.PolygonId polygon, Experimental.AI.PolygonId neighbourPolygon, out Vector3 left, out Vector3 right);Параметры
polygon | Первый узел NavMesh. |
neighbourPolygon | Второй узел NavMesh. |
left | Одна из мировых точек для результирующего ребра разделения, через которое необходимо пройти при переходе между двумя указанными узлами. Эта точка является левой стороной ребра при переходе от первого узла ко второму.. |
right | Одна из мировых точек для результирующего ребра разделения, через которое необходимо пройти при переходе между двумя указанными узлами. Эта точка является правой стороной ребра при переходе от первого узла ко второму. |
Возвращает
bool True
, если между двумя узлами NavMesh существует соединение.
False
, если между двумя узлами NavMesh нет соединения.
Описание
Получает конечные точки сегмента линии, общие для двух соседних узлов NavMesh.
Для двух полигонов, являющихся частью поверхности NavMesh, этот метод возвращает ребро, где встречаются оба полигона. Если два полигона находятся в разных плитках NavMesh, соединенные ребра могут иметь разную длину или иметь разные начальные и конечные позиции друг от друга. В этом случае результирующая разделительная кромка представляет собой перекрывающуюся часть кромок, которая может быть короче любой из отдельных кромок.
Если один узел является ссылкой, а другой — многоугольником, возвращаемые точки размещаются там, где ссылка пересекает многоугольник.
Результирующие позиции выражаются в мировом пространстве и могут быть преобразованы в локальное пространство NavMesh с помощью NavMeshQuery.PolygonWorldToLocalMatrix.
Смотрите так же: NavMeshQuery.GetEdgesAndNeighbors.