Куда пропала Euphoria: причины исчезновения динамичной анимации персонажей

Анимация в GTA 4, которую так никто и не превзошёл.

Как бы ни развивались графика и геймплей видеоигр, анимация NPC, судя по всему, находится в некоторой стагнации. Портал Eurogamer связался с разработчиками системы динамической анимации Euphoria, чтобы узнать, как она работала и почему её так редко используют.

DTF публикует перевод материала.

Куда пропала Euphoria: причины исчезновения динамичной анимации персонажей

Отследить путь развития видеоигр за последние несколько десятков лет легко. Вы наверняка видели картинку, на которой Лара Крофт эры первой PlayStation во всей её угловатой полигональной красоте поставлена рядом с современной моделью. А если нет, то, возможно, сталкивались с изображением Би Джея Бласковица из Wolfenstein: The New Order рядом с его грубо нарисованной первой инкарнацией. Как много пикселей, какая детализация, как же сильно изменились игры.

Куда пропала Euphoria: причины исчезновения динамичной анимации персонажей

И всё же, хотя гонка визуальных вооружений кончаться не собирается, физика персонажей пребывает в стагнации. У вас, может, и есть возможность разрушать сложные структуры в Red Faction: Guerilla, а Microsoft обещает просчитываемые в облаке полностью разрушаемые небоскребы в мультиплеере следующей Crackdown, но модельки персонажей до сих пор нелепо плюхаются на пол, зависают над землей, проваливаются через текстуры или нелепо двигаются, демонстрируя однообразные анимации. Но в Grand Theft Auto 4 всё было иначе.

Уничтожение всего и вся в Либерти-сити с помощью гранатомета это такая банальщина. Величайшие преступления Grand Theft Auto 4 случаются, когда игрок выпускает внутреннего Агента 47 и толкает прохожих навстречу их смерти: с мостов, на рельсы, с лестниц. В зависимости от того, что тебе больше по вкусу, чудовищный ты садист.

Rockstar прекрасно понимали, что они делают, когда дали игрокам возможность толкать NPC, привязав это действие к отдельной клавише. В первом Assassin’s Creed я использовал анимацию «мягкого толчка», чтобы отправлять гуляющих по местным улочкам работяг в воду, где они неминуемо тонули: но сразу было понятно, что анимация эта задумана для другого. А вот когда в GTA 4 NPC после толчка валится с лестницы, разбиваясь насмерть, вы знаете, что именно так разработчики и планировали. И никакой вины.

Когда в 2008 году игра про преступления в открытом мире вышла, то ощущалась как новое слово в индустрии. Персонажи, анимированные с помощью системы Euphoria в синергии с собственным движком Rockstar — RAGE, реагировали на ситуации динамически: хватались за пулевые ранения, падали с лестниц, перепив, пошатывались, бились об объекты и реагировали на окружение. Это было своего рода откровение, но, помимо нескольких редких примеров вроде Backbreaker и Star Wars: The Force Unleashed, вне игр Rockstar оно наблюдается редко.

Euphoria на пике своих возможностей: игрок пытается управлять пьяным персонажем
Euphoria на пике своих возможностей: игрок пытается управлять пьяным персонажем

Гарри Дэнхольм (Harry Denholm) работал над GTA 4, на посту ведущего инженера в NaturalMotion, компании, создавшей Euphoria. Дэнхольм «пересобрал» прошлую попытку студии в этой сфере — старую технологию Endorphin, чтобы она работала в реальном времени. Затем его команда тесно сотрудничала с игровыми студиями, чтобы подключить Euphoria к их проектам.

Мы уже работали так несколько лет, когда наша компания связалась с Rockstar относительно возможностей использования этого нового подхода к анимации персонажей в одной из их будущих игр, Red Dead: Redemption. В NaturalMotion собралась небольшая команда, ответственная за интеграцию с RAGE и напрямую взаимодействующая с разработчиками геймплея и анимации в Сан-Диего. Я осуществлял техническое руководство и занимался интеграцией, динамическим инжинирингом и работой с уникальными для движка инструментами.

Гарри Дэнхольм, бывший разработчик Euphoria

Через несколько лет Дэнхольм создал демонстрационный ролик технологии, которую его команда создавала для Red Dead Redemption, но в сеттинге обычного фильма жанра экшн. В ролике персонажей сбивали машины, протаскивали под дулом пистолета, толкали с лестниц, в их лица брызгали из перцового баллончика и так далее, причем всё это было полностью интерактивно, и каждый раз результаты были разными. По мановению судьбы, команда перешла от Red Dead Redemption к GTA 4, где им предстояло создавать похожие сценарии в городской песочнице Rockstar.

Euphoria отличается от остальных подобных технологий тем, что комбинирует анимацию в реальном времени с ИИ, биомеханикой и физикой, и всё это — без необходимости прибегать к захвату движений. Результаты получаются разнообразными, потому что процессор заставляет персонажей реагировать — уклоняться, если кто-то подходит близко, хвататься за раны, отшатываться, если их легонько толкают, или падать, споткнувшись. В них также закодировано что-то вроде инстинкта самосохранения, поэтому иногда они могут самостоятельно оправиться от удара или уклониться от угрозы. Это не выглядит как нечто заранее запрограммированное, поэтому такие реакции становятся неожиданными для игрока. Вот почему так весело бывает залететь на вертолете на электростанцию Либерти-сити и смотреть, как его лопасти перемалывают рабочих.

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

Если вы когда-нибудь часами запускали Тревора и компанию в кирпичную стену в GTA 5, то знаете, о чём я: этот приятный шлепок, то, как они скрючиваются на земле, и каждый раз по-разному. Истинное наслаждение для внутреннего садиста.

Однако если на улицах Сан-Франциско из Watch Dogs 2 вас собьёт машина, ваш персонаж, скорее всего, бесцеремонно проскользит в сторону или окажется у неё на крыше. А вот если в Либерти-сити вас машина собьёт, то результатов может быть миллион: ваша голова ударится о капот или лобовое стекло, вас может перекинуть через машину, оттолкнуть в сторону, даже переехать. Возникает чувство, будто случиться может всё, что угодно.

Так почему же другие AAA-студии не стали пользоваться этой технологией сразу после релиза GTA 4?

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


Обычно всё работало так: мы приходили в заинтересовавшуюся компанию вроде Rockstar или LucasArts, и наши инженеры интегрировали технологию в их код и физический движок, зачастую прямо на месте. Тем временем наши инженеры поведения моделей (behavioral engineers) — программисты, разбирающиеся в физике, биомеханике, теории роботизированного управления или ИИ, — начинали набрасывать базовые реакции моделей. Мы демонстрировали некоторые уникальные для конкретного проекта анимации и, если заказчику все нравилось, наши инженеры присоединялись к разработке игры.

Гарри Дэнхольм, бывший разработчик Euphoria

Безусловно, услуга это была недешёвая. Все проекты на Euphoria создавались с нуля, чтобы идеально соответствовать конкретной игре — в NaturalMotion выяснили, что такой подход давал наилучшие результаты. Именно поэтому в Star Wars: The Force Unleashed вы можете раскидывать модельки персонажей с помощью Силы, а в GTA 4 человек схватится за ручку двери едва украденной у него машины, когда вы ударите по газам.

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

Гарри Дэнхольм, бывший разработчик Euphoria

Сейчас интегрировать Euphoria стало гораздо легче, поскольку теперь она идет в комплекте с Morpheme, межплатформенным программным обеспечением NaturalMotion. Morpheme использовалась в Quantum Break, Until Dawn, и Killzone: Shadow Fall. Однако физика персонажей в этих играх и близко не стояла с моделями из игр Rockstar, потому что им недоставало той дорогой, уникальной интеграции. Разумеется, важную роль сыграло то, что движок RAGE и рабочая этика Rockstar прекрасно дополняли такой подход.

Физика RAGE оказалась отличной платформой для интеграции Euphoria; нам удалось создать эффекты, с которыми у других коммерческих физических движков возникали проблемы.

Гарри Дэнхольм, бывший разработчик Euphoria

Rockstar хотела создать симуляцию жизни: всё, от ежедневной рутины NPC до нюансов их движений, подчинялось почти реальной физике и генерировалось в реальном времени. Чтобы достигнуть этого, NaturalMotion был предоставлен полный доступ к исходному коду физической части RAGE, так что вся эта затея строилась на максимальном сотрудничестве.

RAGE и так был способен на правдоподобную симуляцию физики, но Rockstar параллельно работала над специальной функцией под названием «артикулированное поведение тел по методу Featherstone», благодаря которой удавалось более точно симулировать поведение двуногих существ.

Модельки двуногих собираются из жёстких форм столкновений (collision shapes), а выглядит это почти как набросок художника — образ человека, состоящий из грубых цилиндров и угловатых выступающих частей, своего рода заготовка, которой впоследствии добавят детали. Между каждой формой располагаются сочленения, чтобы части модели могли двигаться независимо — локти, лодыжки, голеностопы, колени и даже точки перегиба на торсе. К этим суставам подсоединяются движители, симулирующие человеческие мускулы.

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

У нас весь скелет работает как единое целое. Мы не обновляем положение предплечья, затем плеча, а сочленение затем не пытается корректно скрепить эти части — вместо этого вся двуногая модель обрабатывается как сложная иерархия из частей, которую теоретически невозможно разломать. Все сочленения считаются частями целого, а не отдельными объектами.

Гарри Дэнхольм, бывший разработчик Euphoria

Этот приём хорошо соединялся с «Динамическим балансировщиком», технологией, созданной Томом Лоувом (Tom Lowe), инженером поведения моделей из NaturalMotion. Динамический балансировщик позволял персонажам GTA 4 сохранять баланс.

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

Гарри Дэнхольм, бывший разработчик Euphoria

«Мы не просили его [Featherstone] у Rockstar, они сами начали всё разрабатывать. Даже наняли для этого профессора», — рассказал мне Том Лоув в электронном письме. Видите ли, главная проблема двуногих моделей, работающих в рамках игровой физики, заключается в том, что они ходят на своих самых слабых частях — по сути, на маленьких коробочках, соединенных с голеностопными сочленениями, — так что крепиться эти части должны прочно. Featherstone это обеспечивал.

Featherstone давал больший контроль над персонажем. Он обеспечивал прочность сочленений, которая менялась в зависимости от того, что нужно от модели, хорошее трение и не давал ступням дрожать.

Том Лоув, инженер поведения моделей в компании NaturalMotion

Верхняя часть тела не перекашивалась и не разрушалась; ноги стояли крепко и поддерживали остальное тело. Прямо как у настоящего человека! Когда одна нога совершала шаг, и при этом бёдра не разваливались, а торс не опрокидывался… это был серьезный прогресс. Мы могли заставить модельки хвататься за быстродвижущиеся объекты или сталкивать их с машиной на большой скорости, и при этом их тела не разваливались бы на части, словно они сделаны из Lego. К тому же, так как симуляции были стабильны, команда специалистов по поведению моделей могла сконцентрироваться на создании более реалистичных реакций моделей, которым, чтобы всё нормально работало, теперь нужно было меньше уловок.

Когда мы заканчивали работать над GTA 4, у нас были персонажи, которые, получив пулевое ранение, могли попытаться зажать его или как-то иначе отреагировать. Они могли пошатнуться из-за кривизны улицы и в то же время вести ответный огонь по игроку — при этом отдача оружия физически достоверно воздействовала на их модели, — и все это симулировалось динамически. Затем мы применили это ко всем NPC в игре. Дело это было серьёзное и невероятно ответственное. К примеру, в другом проекте, где Euphoria была интегрирована физический движок, вся система была нестабильна, и разработчикам пришлось использовать дополнительные — и иногда совершенно непредсказуемо работавшие — слои из читов, чтобы модели можно было контролировать.

Гарри Дэнхольм, бывший разработчик Euphoria
Можно, конечно, убивать NPC из гранатомета, но гораздо веселее сталкивать их куда ни попадя
Можно, конечно, убивать NPC из гранатомета, но гораздо веселее сталкивать их куда ни попадя

Результаты менялись от проекта к проекту, вычислительные мощности требовались более серьёзные, по сравнению с традиционными методами, да ещё и студии нужно было нанимать специалиста по анатомии. Более того, продать такие функции тоже сложно. Фотореалистичное окружение дает игроку возможность погулять по красивым локациям. Геймплейные фишки затягивают. Но надпись «реалистичные модели персонажей» на коробке вряд ли кого-то привлечёт, так что большинство разработчиков предпочитают не тратить деньги и время на их создание. Более традиционные, вручную сделанные анимации гораздо приятнее выглядят в геймплейных трейлерах, ведь сложно поддерживать общий стиль игры, когда в определенных условиях динамическая симуляция отбирает контроль у запрограммированных анимаций.

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

Гарри Дэнхольм, бывший разработчик Euphoria

Дэнхольм считает, что теперь этот сложный процесс нужно упростить и удешевить, чтобы разработчики могли пользоваться такими технологиями так же просто, как новейшими игровыми движками вроде Unity или Unreal 4. Euphoria можно даже превратить в общее решение, которое можно будет просто подключать к популярным игровым движкам. Правда, в результате всё равно не получатся модели как в играх Rockstar, но это всё равно будет прогресс.

С доступными инструментами (вроде Unity) и талантливым сообществом разработчиком таких результатов можно было бы достигнуть гораздо быстрее. Я знаю, что сейчас NaturalMotion предлагает интеграцию своей последней связки Morpheme+Euphoria в движок Unreal, и я совсем не удивлюсь, если в ближайшие годы станет больше любительских инструментов для процедурной анимации. Мы видели, что это возможно, если потратить достаточно сил и времени. Теперь, когда наши инструменты попали в руки инди-разработчиков и любителей, в сферы, где стандарты не столь высоки, я надеюсь, что скоро появятся новые волнующие виды игрового опыта, о которых мы и не подозревали.

Гарри Дэнхольм, бывший разработчик Euphoria

Инди-студия Punches Bears сейчас создает на Unity нечто, основанное на физически заданной анимации. В некоторых из их проектов медведи танцуют под Nas, в других есть медвежье родео, в третьих — медведи с бензопилами. Да, с темой они точно определились. Однако помимо медведей, во всех их проектах физика персонажей используется весьма необычно и интересно. Вот небольшой кусочек промежуточного результата:

В AAA-пространстве Ubisoft тоже потихоньку улучшает физику персонажей. Прототип под названием IK Rig демонстрирует каркас персонажа, который способен на гладкое, отзывчивое движение по меняющемуся ландшафту. Другое техническое демо студии с последней GDC тоже показывает определённый прогресс в основанной на физике анимации персонажей: здесь и биомеханически корректный перенос веса, и мягкое ускорение и замедление моделей, и правдоподобная задержка между физическим воздействием и анимацией. На протяжении всего демо движения персонажа контролировались игроком.

Если развитие этих инструментов анимации не прекратится, то возможно, через несколько лет результаты вроде тех, что выдает Euphoria, станут обычным делом. Может, когда-нибудь даже появится игра, которая даже превзойдет феноменальную физику персонажей из GTA 4. Нужно лишь чтобы больше разработчиков обращали внимание не на то, что лежит на поверхности. Быть может, их, как и NPC из GTA 4, нужно лишь немного подтолкнуть.

6969
14 комментариев

А добавьте в материал, кстати

4
Ответить

Стоит добавить, что Euphoria в Max Payne 3 используется. И часть кайфа от перестрелок это в том числе заслуга физического движка.

5
Ответить

Процентов на 90, я бы сказал )
К заслугам движка можно еще можно отнести реиграбельность как отдельных сцен, так и всей игры.

1
Ответить

Очень реалистично выглядело то, как можно было орудовать ножом. До того натурально выглядели все движения, что даже не по себе становилось. Но остановиться было невозможно ^_^

3
Ответить

В GTA5 уже другая система используется? Почему пишут что лучшая модель в GTA4?

1
Ответить

В пятой части она выглядит сильно упрощенной, очень многих мелочей нет. Можно найти видос со сравнением анимаций 5-й и 4-й частей.

1
Ответить

Что-то захотелось в ГТА4 поиграть... Как пройду Saints Row 3, скачаю GTA4. Когда впервые в нее играл, как-то не особо вдавался в подробности анимации, но после статьи начал вспоминать, что там все было довольно весело сделано.

1
Ответить