Описание
Объект, используемый для выполнения операций навигации в NavMeshWorld.
Операции NavMeshQuery могут выполняться внутри заданий (IJob, IJobParallelFor), в отличии от структур NavMesh.
Чтобы получить путь между двумя местоположениями в NavMesh, запрос должен быть создан со значением pathNodePoolSize
больше 0, и необходимо последовательно вызвать следующие методы: BeginFindPath
, UpdateFindPath
(повторно, если необходимо), EndFindPath
, GetPathResult
. Эти методы основаны на хранении некоторых данных состояния внутри NavMeshQuery, но все остальные методы не изменяют состояние объекта и могут быть вызваны в любое время.
Все методы вызывают исключения, если какой-либо из их параметров недействителен при выполнении в редакторе.
Примечание. Предполагаемый набор функций для NavMeshQuery еще не полностью завершен.
Конструкторы
NavMeshQuery | Создает объект NavMeshQuery и при необходимости выделяет память для хранения информации об узле NavMesh. |
Публичные Методы
BeginFindPath | Инициирует операцию поиска пути между двумя местоположениями в NavMesh. |
CreateLocation | Возвращает допустимое значение NavMeshLocation для позиции и полигона, предоставленных пользователем. |
Dispose | Уничтожает NavMeshQuery и освобождает всю используемую им память. |
EndFindPath | Получает количество узлов в пути, которое было вычислено во время успешной операции NavMeshQuery.UpdateFindPath. |
GetAgentTypeIdForPolygon | Возвращает идентификатор типа агента, для которого была запечена NavMesh или для которого была настроена ссылка. |
GetEdgesAndNeighbors | Извлекает вершины данного узла и идентификаторы всех узлов навигации, к которым он подключен. |
GetPathResult | Копирует в предоставленный массив список узлов NavMesh, образующих путь, найденный операцией NavMeshQuery. |
GetPolygonType | Возвращает, является ли узел NavMesh полигоном или ссылкой. |
GetPortalPoints | Получает конечные точки сегмента линии, общие для двух соседних узлов NavMesh. |
IsValid | Возвращает true, если узел, на который ссылается указанный PolygonId, активен в NavMesh. |
MapLocation | Находит ближайшую точку и PolygonId в NavMesh для данной мировой позиции. |
MoveLocation | Переводит местоположение NavMesh в другое положение без потери контакта с поверхностью. |
MoveLocations | Переводит ряд местоположений NavMesh в другие положения без потери контакта с поверхностью. |
MoveLocationsInSameAreas | Переводит ряд местоположений NavMesh в другие положения, не теряя контакта с поверхностью, используя один фильтр общей области для всех из них. |
PolygonLocalToWorldMatrix | Возвращает матрицу преобразования поверхности NavMesh, которая содержит указанный узел NavMesh (только для чтения). |
PolygonWorldToLocalMatrix | Возвращает матрицу обратного преобразования поверхности NavMesh, которая содержит указанный узел NavMesh (только для чтения). |
Raycast | Проведите линию между двумя точками на NavMesh. |
UpdateFindPath | Продолжает текущий поиск пути. |