Re: ПП по Вейпоинтам
Всем спасибо за ответы.
а как вам такая система:
пока чел идет и не натыкается на препятствие двигает по обычному способу без всякого поиска пути.
как только при проверка оказывается что следующий шаг на препятствие(или при вейпоинтах находится далеко от соседних), то врубаем ПП по такой схеме.
сначала в памяти сохраняем множество карт путей по алгоритму Флойда. расположенных рядом друг с другом.(много карт потому что по флойду время высчитывание самих карт и объем карт в кубической зависимости от кол-во вейпоинтов)
доставание карт из памяти составляем очень и очень мала времени так как все пути уже прописаны.
ну вот создаем множество квадратных карт рядом и одну общюю карту на все. если точка оправки и назначения у движимого объекта находятся в одном квадрате то поиск пути осуществляем в нем если в разных то поиск пути осуществляем сначала в общем квадрате который на всю карту а потом как точки (прибытия и отправки) будут находиться в одном маленьком квадрате поиск осуществляем по нему.
думаю понятно.
|