Отслеживание с 2D, без сетки движения на единой местности
Я ищу лучшее решение для поиска пути в моей игре. Карта в конечном счете основана на сетке, но объекты позиционируются с использованием поплавков и могут перемещаться в любом направлении в любую точку на карте. «Земля» в моей игре имеет единую стоимость движения, но, конечно, могут быть препятствия, которые блокируют путь. Большинство препятствий будет статичным, и хотя в игре будут другие анимационные объекты, я может уйти, не рассматривая их - это изометрическая стратегия стиля Тематическая больница игра, поэтому никаких боевых действий.
Большинство статей по поиску путей, которые я видел, охватывают трехмерное или сетчатое 2D-движение. Любые предложения для чего-то, что может покрыть мой случай использования? Большое спасибо.
1 ответ
Это называется «проблема поиска с помощью любого угла». У вас в основном есть два варианта:
-
Создайте навигационную сетку для вашей карты и выполните поиск по ней с помощью A *
-
Поиск по сетке с использованием алгоритма, специально предназначенного для поиска по любому углу. Традиционно, способ сделать это был A * + сглаживание пути (линейная интерполяция и т. Д.) , но в наши дни более популярной альтернативой является
Все приведенные выше методы генерируют оптимальные результаты near . Если по какой-то причине вам нужны нужны оптимальные результаты, эта статья была выпущена несколько недель назад. У меня еще не было возможности прочитать его, но я не знаю, насколько он эффективен или насколько сложно его реализовать.