Как заставить боидов преследовать подвижного персонажа в 2d-игре - PullRequest
0 голосов
/ 09 июля 2020

Мне было интересно, каким будет самый простой способ заставить мою группу боидов преследовать моего персонажа в двумерной игре сверху вниз с алгоритмом поиска пути?

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

Я нашел " Поведение при преследовании и уклонении »на сайте Крейга Рейнольдса, но я не уверен, что иду в правильном направлении.

1 Ответ

1 голос
/ 18 июля 2020

Обратите внимание, что в статье 1999 GD C есть немного больше деталей. Существует также множество реализаций с открытым исходным кодом, например this (в ретроспективе, удивительно сложная) одна в OpenSteer .

Поведение агента seek просто принимает желаемую скорость по направлению к статической c цели и определяет «управляющую силу», которая является ошибкой / разницей между ней и ее текущей скоростью. только для оценки текущего целевого местоположения. Грубого приближения обычно достаточно, поскольку оно отбрасывается после этого кадра анимации / шага моделирования. Обычно в поведении рулевого управления используются прогнозы постоянной скорости, просто умножая текущую скорость на некоторый интервал времени. Полезной оценкой для этого интервала является расстояние до агента карьера, деленное на нашу текущую скорость.

Как это взаимодействует с (а) преследователями, являющимися стаей, и (б) симуляцией, основанной на поиске пути, будет зависеть от конкретных c деталей вашей игры. Вероятно, вы захотите совместить небольшую «силу» преследования с поведением стайки, чтобы она не мешала природе стаи.

...