Мне удалось получить работу по поиску пути для одного подразделения, и мне удалось избежать коллизии агент-агент, но теперь мне нужно иметь возможность отправить группу агентов в какое-то место.
Это моя установка до сих пор:
- Поиск путевой точки
- Минимальное расстояние между двумя узлами немного больше, чем максимально допустимый радиус ограничивающей сферы для агента.
- Агенты избегают столкновений с другими агентами, выполняя некоторые действия по управлению, основанные на clearpath
Теперь мне нужно отправить своих агентов куда-нибудь в группу. Я прочитал несколько постов, в которых говорится, что для этого можно создать лидера группы и назначить другим подразделениям смещение на его позицию.
Но тогда проблема в том, что, если формирование группы не может быть достигнуто? Например, вы хотите сформировать прямоугольник, но рядом с целевой позицией есть структура, которая не позволяет вам создать настройку прямоугольника.
path-finding
rts
xcrypt
источник
источник
Ответы:
На самом деле в Gamasutra есть довольно хорошая статья об этом. И охватывает такие темы, как формирования и разрешения конфликтов:
И еще одна статья от них на ту же тему, которая немного короче, но содержит больше примеров псевдокода:
Наконец, при внедрении вашей системы следует подумать об изящной идее «Flow Field», которую использовал Supreme Commander 2 ; И это основано на исследовании Crowd Flows Университета штата Вашингтон .
источник
Я думаю, что вы можете иметь невидимую «стадную сущность», которая является боссом формации, и сделать так, чтобы другие существа позиционировали себя относительно этой сущности. Если этот объект может вращаться, то относительное положение тоже будет вращаться.
... упс .. вы уже делаете это.
Что насчет этого:
Почему вы не можете рассчитать новые позиции для сталкивающихся объектов? Мне не нужно фантазировать, может, просто перетащить линию от желаемой исходной точки и лидера и переместить желаемую позицию в середину этой линии. Проверьте снова на столкновение.
источник