Руководство API скрипты
Экспериментальный: этот API является экспериментальным и может быть изменен или удален в будущем.

NavMeshQuery

структура в UnityEngine.Experimental.AI / Реализовано в: UnityEngine.AIModule

Описание

Объект, используемый для выполнения операций навигации в 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 Продолжает текущий поиск пути.
Вы можете отблагодарить автора, за перевод документации на русский язык. Донат
API скрипты 2021.3