Система поиска путей
Описание
Система, анализирующая окружающую обстановку от точки А до точки Б. Находит препятствия, возможные пути, регистрирует результаты и отправляет NPC.
Подробнее о работе:
Система может быть очень полезна для отладки локаций. Поможет найти недочёты рельефа, позволяющих, например, воспользоваться скалами как обычной тропинкой. Работа осуществляется в отдельном потоке, что позволяет в фоновом режиме выполнять алгоритм. Таким образом, система не влияет на общую производительность игры. Путь выбирается самый оптиальный и короткий. Стены игнорируются, однако, если нет другого пути, персонаж взберется на уступ.
Широкое применение поиск может найти в AI. Сканирование троп до вейпоинтов позволит NPC больше не застревать по дороге в точку назначения. Процесс анализа способен отыскать укрытия против лучников и проложить туда дорогу. Погони могут быть куда умнее, если персонаж-охотник научится генерировать дорогу к жертве, а не прокладывать вектор, по которому он постоянно "втыкается" в текстуры.
Система позволит избавиться от надоедливых "ювелирных" вейпоинтов в домах. Поиск лучше всего показывает себя в замкнутых пространствах и спокойно находит выход даже из самого сложного лабиринта.
Активация
Система автоматически активируется вместе с другими классами модуля Ultimate. Также есть ручные методы проложения путей к вобу или вейпоинту из скрипта/плагина.
Поиск путей в указанную точку. (для вобов или вейпоинтов находится координата расположения в мире)
DWSys::GoTo(oCNpc* pNpc, zVEC3 vCrd);
Поиск путей к вобу или вейпоинту.
AI_PathToVob(var C_NPC npc, var string vobName);
AI_PathToWP(var C_NPC npc, var string WPName);