This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL
Плагины
File Formats
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Навигационный меш (Navigation Mesh)

Navigation Mesh - это область навигации, которая расположена над поверхностью произвольной геометрии (меша). Фактически, Navigation Mesh - это область указанной высоты над полигонами меша, доступная для поиска пути.

В отличие от сектора навигации , Navigation Mesh позволяет следующее:

  • В пределах Navigation Mesh могут быть рассчитаны только 2D-маршруты.
  • Поиск пути может выполняться только в пределах одного Navigation Mesh. Поиск пути в следующих областях не поддерживается:

    • В пределах нескольких пересекающихся Navigation Meshe
    • Внутри пересекающихся Navigation Mesh и сектора

Смотрите также#

  • Класс NavigationMesh для управления навигационными мешами через API
  • Статья Создание маршрутов чтобы узнать, как создавать маршруты внутри навигационного меша
  • Набор примеров в папке <UnigineSDK>/data/samples/paths:
    • mesh_00
    • route_03
    • route_04

Создание навигационного меша#

Перед добавлением Navigation Mesh вы должны подготовить меш, который будет использоваться в качестве основы. Такой меш создается отдельно и должен отвечать следующим требованиям:

  • Любой многоугольник меша не должен иметь общий край с более чем 2 другими многоугольниками; в противном случае произойдет ошибка.
  • Полигоны меша должны быть максимально широкими (в идеале они должны быть равносторонними). Слишком узкие и высокие многоугольники могут снизить точность расчета пути.
  • Меш должна быть оптимизирован: он не должен содержать большого количества полигонов.

После подготовки меша, вы можете добавить Navigation Mesh в сцену через UnigineEditor:

  1. Запустите UnigineEditor.
  2. В меню выберите Create -> Navigation -> Navigation Mesh.

  3. В открывшемся диалоговом окне файла выберите необходимый меш, который будет использоваться в качестве основы для новой области навигации, и нажмите OK.

  4. Щелкните где-нибудь в мире, чтобы разместить файл Navigation Mesh. В UnigineEditor добавляется новый Navigation Mesh, и вы можете редактировать его через окно Parameters.
Примечание
Созданный Navigation Mesh предоставляет только область, в которой рассчитываются 2D-маршруты. Сами маршруты должны быть созданы из кода .

Пример#

Если у вас есть сцена с разными объектами и вам нужно рассчитать 2D-маршрут между ними, добавьте к этой сцене Navigation Mesh следующим образом:

  1. Создайте плоский меш с отверстиями в местах расположения объектов.

    Сцена
    Меш, созданный для Navigation Mesh
  2. Укажите этот меш как основу для Navigation Mesh, в пределах которой рассчитывается маршрут, и добавьте Navigation Mesh в мир. Он будет выделен зеленым цветом:

    Navigation Mesh на основе плоского меша
  3. Поместите Navigation Mesh над сценой.

    Navigation Mesh расположенный над сценой
Примечание
В данном случае вместо Navigation Mesh вы также можете использовать сектор навигации с препятствиями расположенными внутри него. Однако, для более сложных случаев предпочтительнее использовать Navigation Mesh.

Редактирование навигационного меша#

На вкладке Node окна Parameters вы можете настроить следующие параметры Navigation Mesh:

Navigation Mask Маска Navigation для Navigation Mesh должна соответствовать маске Navigation маршрута, который вычисляется в ней. В противном случае Navigation Mesh не участвует в поиске пути.
Quality Качество оптимизации расчета маршрута. Это значение указывает количество итераций, которые используются для поиска кратчайшего пути. Чем выше значение, тем больше времени занимает расчет маршрута.
Velocity Коэффициент масштабирования для скорости точки, которая движется внутри Navigation Mesh.
Dangerous

Фактор опасности, который указывает, должна ли движущаяся точка избегать Navigation Mesh.

Примечание
Если фактор опасности превышает максимальный фактор опасности, установленный для маршрута, Navigation Mesh исключается из вычислений поиска пути.
Depth Значение глубины. Это значение влияет на качество рассчитываемого маршрута. Чем больше значение глубины, тем лучше контроль над точностью и скоростью расчета маршрута. Глубина может принимать целочисленное значение в диапазоне [0;4]. По умолчанию глубина установлена на 0 для нового Navigation Mesh. Значения 2, 3, 4 используются для более глубокой эвристики.
Height Расстояние над полигонами меша, доступными для поиска пути. По умолчанию для нового Navigation Mesh высота установлена равной 1 .

Загрузка нового меша#

Чтобы загрузить новый меш, который будет использоваться в качестве основы для области навигации:

  1. На вкладке Navigation нажмите .
  2. В открывшемся диалоговом окне файла выберите нужный меш и нажмите OK.

Сохранение текущего меша#

Чтобы сохранить текущий меш, который используется в качестве основы для области навигации:

  1. На вкладке Navigation нажмите .
  2. В открывшемся диалоговом окне файла укажите имя меша и нажмите OK.
Последнее обновление: 13.12.2021
Build: ()