Шлях із 2D, немережевим рухом по рівномірній місцевості


12

Я шукаю найкраще рішення для проходження маршрутів у своїй грі. Карта в кінцевому рахунку базується на сітці, але об'єкти розміщуються за допомогою поплавків і можуть рухатися в будь-якому напрямку до будь-якої точки на карті. У моїй грі «ґрунт» має рівномірну вартість руху, але, звичайно, можуть бути перешкоди, які перекривають шлях. Більшість перешкод буде статичним, і хоча будуть і інші живими об'єктами в грі, я можу піти з не вважаючи їх - це не ізометрична Theme Hospital стратегії гра стилю, тому ніякої боротьби.

Більшість статей із пошуку шляху, які я бачив, охоплюють тривимірний рух на основі 3D або сітки. Будь-які пропозиції щодо чогось, що могло б охопити моє використання? Дуже дякую.


Зараз у вас немає часу на правильну відповідь, але ви можете поглянути на це питання: stackoverflow.com/questions/4054701/… .
Крістіан

Відповіді:


14

Це називається "будь-якою проблемою накладання маршруту". У вас є два варіанти:

  1. Створіть навігаційну сітку для вашої карти та пошукайте її за допомогою A *

    Навігаційна сітка

  2. Шукайте по сітці за допомогою алгоритму, призначеного спеціально для будь-якого кута накладання маршруту. Традиційно способом цього було згладжування шляху A * + (лінійна інтерполяція тощо) , але в наші дні більш популярною альтернативою є Theta * , яку легше реалізувати, працює швидше і дає кращі результати, ніж згладжування шляху.

    Тета * проти згладжування шляху

Всі перераховані вище методи дають майже оптимальні результати. Якщо вам потрібні оптимальні результати, цей документ вийшов кілька тижнів тому. У мене ще не було можливості прочитати це, тому я не знаю, наскільки це ефективно чи як важко це реалізувати.


Щиро дякую! У мене немає потреби в абсолютно оптимальних результатах, поки це близько.
tommaisey

1
Просто подумав, що я додам цю статтю до тих, кого ви перерахували. Здається, один із авторів оригіналу цього документу - більш стислий варіант статті, яку ви зв'язали. Я думаю, що піду з Тетою *, ура.
tommaisey

Посилання не працює. Оновіть відповідь.
firelynx
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.