Способна ли A * обрабатывать несколько уровней (например, многоэтажные здания)? - PullRequest
0 голосов
/ 26 октября 2019

У меня есть трехмерная воксельная игра, и я пытаюсь найти наилучший подходящий алгоритм поиска путей. Мне было интересно, способен ли алгоритм A * обрабатывать несколько уровней, например, многоэтажное здание и находить маршруты по лестницам или лестницам.

Возможно ли это с A * или мне следует использовать что-то еще? ?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Попробуйте сначала использовать рабочий процесс на основе компонентов NavMesh . Если есть хорошее поведение лестницы, которое можно эффективно и автоматически использовать, NavMesh найдет его.

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

0 голосов
/ 26 октября 2019

Любые алгоритмы поиска пути (однородные или неоднородные) могут использоваться, если вы используете их правильно. Сначала вы должны решить, какой тип поиска пути вы хотите использовать, в зависимости от того, чего вы хотите достичь.

Унифицированный или графовый алгоритмы могут иметь много накладных расходов для многоэтажного здания из-за избыточных узлов,(при условии, что вы строите все здание сразу)

Неуниформа намного медленнее, чем графические алгоритмы, но не требует больших затрат.

Это действительно зависит от того, что выхотите, чтобы ваши персонажи делали, и как вы будете его оптимизировать.

A * - это быстро, но вы можете проверить некоторые итерации A *, такие как система точек перехода.

...