Настоящие скакуны: как работает анимация и ИИ лошадей в Red Dead Redemption 2

Особенности движения, поведения и справления нужды.

Автор YouTube-канала AI and Games Томми Томпсон выпустил видео, в котором рассказал о том, как устроены анимации и искусственный интеллект лошадей в Red Dead Redemption 2. Разработчики из Rockstar записали огромное количество всевозможных движений животного, из которых, на основе множества факторов, составляются комбинации. Мы выбрали из материала главное.

Площадь мира в Red Dead Redemption 2 составляет около 29 квадратных миль (примерно 46 кв. км), что делает лошадь незаменимой для преодоления больших расстояний и сложных ландшафтов. Всего в игре 19 пород скакунов — каждая со своими характеристиками и особенностями поведения. Для создания реалистичного компаньона, разработчикам приходилось думать не только о том, как конь перемещается по миру, но и о том, как он реагирует на разные типы местности, и о многом другом.

Настоящие скакуны: как работает анимация и ИИ лошадей в Red Dead Redemption 2

Как рассказывал ведущий программист ИИ и геймплея Тобиас Клиентус на GDC в 2021 году, Rockstar стремилась к тому, чтобы между игроком и его лошадью в RDR2 формировалась эмоциональная связь. Это вовсе не значит, что скакуны из оригинала были плохи, однако разработчики пересмотрели многие аспекты их поведения при работе над сиквелом. Движения лошадей были более неуклюжими, животные резко переходили с аллюра (типа походки) на аллюр. В общем, кони ощущались скорее как «автомобили с ногами».

Для того, чтобы кони были реалистичными, в Rockstar сосредоточились на трёх основных системах.

  • Система движения (Locomotion System), которая позволяет лошади двигаться на разной скорости и следит за тем, чтобы всё выглядело максимально реалистично, без конфликтов с анимацией.
  • Менеджмент местности (Terrain Managment) — система, которая анализирует окружение и связана не только с анимациями лошади, но и с её поведением.
  • Индивидуальность (Personality Layer) — система, добавляющая лошади множество поведенческих особенностей, чтобы она вела себя как живая.

Система движения

За работу над ИИ и управлением животным взялись Rockstar North и Rockstar India. Для начала разработчики изучили, как ведёт себя лошадь, в седле которой находится профессиональный наездник. Исследование привело к первому фундаментальному изменению в поведении коней — введению бокового движения.

В индустрии оно встречается не часто — в играх лошади обычно просто поворачиваются на месте вокруг своей оси. Однако в реальности они задействуют передние ноги; с их помощью животные могут и «стрейфиться». Добавление бокового движения доставляет аниматорам проблем.

Как правило с помощью дерева смешения (blend tree), в котором несколько анимаций объединяются в разной степени, команда аниматоров определяет, как меняются анимации персонажа и при каких условиях. Так, например, устанавливается, при какой скорости движения персонаж должен переходить с простого шага на бег.

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

В случае с боковым движением сложность заключалась в том, что изначально у лошадей было всего два параметра: скорость и угол поворота. Их учёт у четырёхногого животного — это уже достаточно трудная задача. Например, если мы говорим о скорости лошади, то в зависимости от неё меняется аллюр, а значит и движение ног. Кроме того, интервалы, с которым задние и передние копыта касаются земли, не постоянные.

Добавляя к скорости угол поворота, мы уже получаем весьма комплексную систему анимации со своими точками смешения на древе. Но боковое движение привносит в эту систему «третье измерение»

Настоящие скакуны: как работает анимация и ИИ лошадей в Red Dead Redemption 2

В таких условиях найти точки смешения невероятно трудно, поэтому в Rockstar задумались над тем, как автоматизировать этот процесс. Другие разработчики и прежде использовали ИИ для смешения анимаций — примеры этого можно увидеть в последних Hitman и в DOOM (2016). Фреймворк для анимации, созданный авторами RDR2, позволяет лошадям ускоряться, замедляться и поворачиваться так, чтобы все анимации адаптировались к поведению коня.

Система определяет, как двигается животное и как оно располагает свои ноги, а потом выявляет правильные анимации, которые можно использовать, основываясь на скорости прямого хода, бокового движения и поворота. При этом анимации не привязаны к конкретной скорости, а имеют минимальные и максимальные значения параметров, при которых возможно их проигрывание.

Анимация может проигрываться при разных скоростях лошади
Анимация может проигрываться при разных скоростях лошади

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

Для смены анимации аллюра в RDR2 используются непрерывные циклы ускорения и замедления, которые следят за изменениями скорости. Это касается и остановки животного, которая происходит достаточно плавно для того, чтобы игрок мог изменить своё решение в последний момент, но не слишком отзывчиво, чтобы пользователь понимал — он управляет не машиной, а живым существом.

Менеджмент местности

Местность должна влиять на поведение лошади. Животное реагирует на перепады высоты, деревья и иные препятствия, которые встречаются ему на пути. Не стоит забывать, что конь — это всё ещё персонаж под управлением ИИ, который волен игнорировать команды от игрока, если их выполнение представляет угрозу жизни.

Настоящие скакуны: как работает анимация и ИИ лошадей в Red Dead Redemption 2

Кроме того, движения лошади должны меняться в зависимости от того, куда она ступает, по какой поверхности идёт. Обычно за это отвечает инверсная кинематика, позволяющая определять положение связанных частей модели. Благодаря ей при спуске персонажа с горы будет проигрываться та же анимация, что и при движении по ровной поверхности, но ноги модели будут реалистично реагировать на неровности ландшафта.

Однако в случае с лошадью такой метод работает не слишком хорошо. Поэтому в Rockstar создали специальные анимации для спуска и подъёма, которые работали в связке с системой, оценивающей наклон лошади. Но вместо того, чтобы смешивать все эти анимации в одну большую кучу, в Rockstar использовали кластерный подход, чтобы сгруппировать анимации по типу: одни для подъёма, другие — для спуска, а третьи — для движения по ровной поверхности.

Настоящие скакуны: как работает анимация и ИИ лошадей в Red Dead Redemption 2

Анимации выбираются в зависимости от наклона лошади. Однако и это ещё не всё. Типы анимаций сегментировали ещё сильнее в зависимости от «ведущей» ноги лошади: правой или левой.

Настоящие скакуны: как работает анимация и ИИ лошадей в Red Dead Redemption 2

Таким образом, система смешивает анимации, которые зависят от скорости, поворота, наклона и ведущей ноги коня. К этому добавляется механизм определения «глубоких поверхностей» вроде воды, грязи или снега, а также сила ветра на локации. В зависимости от текущих условий игра определяет, какие движения должны проигрываться. Всего в RDR2 порядка 6,3 тысячи различных движений лошади и наездника.

Игра определяет вектор движения лошади и, если какое-то препятствие стоит у неё на пути, мягко направляет её в сторону с помощью бокового движения. Делается это очень быстро, так, чтобы игрок надолго не терял контроль над скакуном. Во время тестов эта система работала «слишком хорошо», поэтому разработчикам пришлось немного «осадить» её, чтобы у пользователя всё-таки оставалась возможность врезаться в дерево.

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

Индивидуальность

Один из самых простых способов добавить индивидуальности лошадям — заставить их реагировать на внешние раздражители. Реагируя, конь может проигнорировать команду игрока или вовсе сделать что-то по-своему. Конечно, тут важен баланс, чтобы пользователь не терял управление над своим транспортным средством постоянно.

Индивидуальность лошади связана с понятием «мотивации», возможностью негативно реагировать на происходящее в мире. Система мотивации — часть утилитарного ИИ, оценивающего конкретные вещи, влияющие на поведение NPC.

Так, в RDR2 есть «мотивация волнения». Если она будет достаточно сильна, то изменятся не только анимации, но и то, насколько отзывчивым будет управление лошадью. На самом деле, возможность погладить коня добавлена в игру не просто так — игрок действительно успокаивает скакуна, снижая значение «волнения».

Система также отвечает за поведение лошади, когда она ранена или устала. Кроме того, у животных есть скрытый параметр «мотивации покакать». Это значит, что анимация опорожнения проигрывается не в случайное время, а лишь когда накапливается определённая «критическая масса».

551551
98 комментариев

Комментарий удалён модератором

Комментарий недоступен

69

Это точно те же Рокстар, которые ремастеры ГТА выпустили?

15

Комментарий недоступен

142

Ремастеры делали гров стрит

27