Сетка навигации - Navigation mesh

А сетка навигации, или же навигационная сетка, является абстрактная структура данных используется в искусственный интеллект приложения в помощь агенты в Найти путь через сложные пространства. Этот подход известен как минимум с середины 1980-х гг. робототехника, где он был назван карта луга, и был популяризирован в видеоигры AI в 2000 г.

Описание

Сетка навигации - это набор двухмерных выпуклые многоугольникиполигональная сетка ), которые определяют, какие области среды могут перемещаться агентами. Другими словами, персонаж в игре может свободно ходить в этих областях, не преграждая путь деревьям, лаве или другим препятствиям, которые являются частью окружающей среды. Смежные полигоны соединяются друг с другом в график.

Поиск пути внутри одного из этих многоугольников можно легко выполнить по прямой, потому что многоугольник выпуклый и проходимый. Поиск пути между полигонами в сетке может быть выполнен одним из множества Поиск граф алгоритмы, такие как А *.[1] Таким образом, агенты в навигационной сетке могут избежать дорогостоящих вычислений. обнаружение столкновения проверки с препятствиями, которые являются частью окружающей среды.

Представление проходимых областей в 2D-подобной форме упрощает вычисления, которые в противном случае пришлось бы проводить в «истинной» 3D-среде, но, в отличие от 2D-сетки, оно позволяет проходимые области, которые перекрываются сверху и снизу на разной высоте.[2] Многоугольники различных размеров и форм в навигационных сетках могут представлять произвольную среду с большей точностью, чем обычные сетки.[3]

Творчество

Навигационные сетки могут быть созданы вручную, автоматически или с помощью их комбинации. В видеоиграх дизайнер уровней может вручную определять полигоны навигационной сетки в редактор уровней. Такой подход может быть довольно трудоемким.[4] В качестве альтернативы можно создать приложение, которое принимает геометрию уровня в качестве входных данных и автоматически выводит сетку навигации.

Обычно предполагается, что среда, представленная сеткой, статична - она ​​не меняется со временем - и, таким образом, можно создать сетку. не в сети и быть неизменным. Тем не менее, было проведено некоторое исследование онлайн-обновления навигационных сеток для динамических сред.[5]

История

В робототехнике использование связанных выпуклых многоугольников таким образом было названо «картированием луга»,[6] придуман в 1986 г. технический отчет к Рональд С. Аркин.[7]

Сетки навигации в видеоигры искусственный интеллект обычно упоминаются в статье Грега Снука 2000 года «Упрощенное трехмерное движение и поиск пути с использованием навигационных сеток» в Жемчужины игрового программирования.[8] В 2001 году J.M.P. ван Ваверен описал аналогичную структуру с выпуклыми и соединенными трехмерными многоугольниками, получившую название «Система осведомленности об области», которая используется для боты в Quake III Arena.[9]

Примечания

Рекомендации

  • Аркин, Рональд С. (1986). «Планирование пути для автономного робота на основе зрения» (PDF) (Технический отчет). Массачусетский университет. Цитировать журнал требует | журнал = (помощь)CS1 maint: ref = harv (связь)
  • Бренд, Сэнди (2009). Эффективное предотвращение препятствий с помощью автономно генерируемых навигационных сеток (PDF) (Магистерская диссертация). Делфтский технологический университет. Получено 2015-06-09.CS1 maint: ref = harv (связь)
  • Голодец, Стюарт (октябрь 2013). «Автоматическое создание навигационной сетки в пространстве конфигурации». Перегрузка. ACCU. 117.CS1 maint: ref = harv (связь)
  • Снук, Грег (2000). «Упрощенное трехмерное движение и поиск пути с использованием навигационных сеток». В ДеЛоре, Марк (ред.). Жемчужины игрового программирования. Чарльз Ривер Медиа. С. 288–304. ISBN  1-58450-049-2.CS1 maint: ref = harv (связь)
  • Тозур, Пол (2002). «Построение почти оптимальной навигационной сетки». У Рабина, Стив (ред.). Мудрость программирования игр с ИИ. Чарльз Ривер Медиа. стр.171 –185. ISBN  1-58450-077-8.CS1 maint: ref = harv (связь)
  • van Toll, Wouter G .; Повар IV, Атлас F .; Гераертс, Роланд (2012). «Навигационная сетка для динамических сред» (PDF). Компьютерная анимация и виртуальные миры. Джон Вили и сыновья. 23 (6): 535–546. Дои:10.1002 / cav.1468. Получено 2015-06-09.CS1 maint: ref = harv (связь)
  • ван Ваверен, J.M.P. (2001-01-28). Робот для арены Quake III (PDF) (Кандидатская диссертация). Делфтский технологический университет.CS1 maint: ref = harv (связь)

внешняя ссылка