Найти в Дзене
4game.ru

The Last of Us 2: Передовая технология анимации

Чтобы понять, чем крута новая анимация в The Last of Us Part 2 , сначала стоит выяснить, чем же плоха старая. Когда-то давно анимацией в играх вообще особо не заморачивались. Сделают десяток движений, и нормально. Потом в дорогих играх начали пытаться делать более крутую анимацию, но поняли, что пилить все это вручную – руки отсохнут.

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

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

-2

При этом ноги могут скользить над землей, проваливаться сквозь камни, ступеньки, прочие предметы. И при повороте камеры тело героя просто моментально поворачивалось вслед за ней, оставаясь по сути неподвижным. А наш зрительный анализатор и его связь с корой так устроены, что мы все вот эти мелочи тут же взглядом ловим и воспринимаем, как что-то недостоверное, ненатуральное.

Сами разработчики The Last of Us рассказывали, на какие хитрости приходилось идти во время создания первой части. Например, момент с добиванием зомби. Кажется, что герой хватает его, делает пару шагов и шмяк о стену! Но если посмотреть со стороны, окажется, что герой вместе с зомби телепортируется на три-четыре метра, при этом ноги даже не двигаются, и тогда уже начинает добивать. Только игрок ничего этого не видит, потому что камера трясется, ноги не видно и вообще все слишком быстро происходит. Или другой случай - Джоэл бьет врага, а тот сам принимает позы, чтобы его лицо оказалось прямо под его кулаком. Причем опять без телепортов не обходится.

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

-3

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

Если в кого-то выстрелят, игра тоже отреагирует правильно – попали в левое плечо, развернет жертву влево, попали в живот – согнет ее пополам. И даже если, скажем, толкнуть прохожего – он отшатнется назад и начнет перебирать ногами, чтобы сохранить равновесие. Так что же - это идеальный вариант, который решит все проблемы? На самом деле - да, но об этом вы узнаете только в конце разговора. Потому что есть нюансики.

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

-4

Небольшие элементы процедурных анимаций есть в каждой игре. В случае с The Last of Us, например, это можно заметить по тому как персонажи, увидев игрока, поворачивают головы в его сторону. Эта очень старая фишка, была еще в играх девяностых. А вот стопроцентно процедурную анимацию можно увидеть всего в нескольких проектах – по большей части это игры Рокстар: Max Payne 3 и последние две GTA.

Тогда появилась другая идея: если моушен-кэпчер слишком примитивен, а процедурная анимация слишком искусственная, давайте смешаем их вместе, может быть выйдет некая золотая середина. И действительно, получилось неплохо – такими гибридными системами сейчас пользуется большая часть ААА-студий.

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

-5

Но разработчиков такая система тоже не устраивает. Причины все те же, что и раньше. Слишком сложно, слишком дорого, слишком много ручной работы. Поэтому анимации получаются красивые, но их слишком мало. И еще один минус: вмешательство процедурных анимаций - это конечно хорошо, но только если в меру – типичный пример, если нога на камень наступила. А вот если надо ногу на полметра задрать, чтобы через бревно перебраться, тут уже сразу видно, что анимация неестественная – потому-то нога-то задрана, а вот остальное тело на это никак не реагирует.

И здесь мы наконец-то добираемся до The Last of Us 2 . Технология анимации, которая в ней используется, называется моушен-мэчинг, и это, скажем так, последний писк моды среди игровых разработчиков. Что же придумали разработчики? На самом деле - сами они ничего не придумывали. Технология эта известна довольно давно, и девелоперы даже не будут первыми, кто ее применил. Первыми, если что, были "Юбисофт" с For Honor.

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

-6

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

И возникает вопрос – так что же, это и есть будущее игровой анимации? Круче уже некуда? Нет! Недостатки есть у всех, и у этой технологии их тоже хватает. Мо-мэчинг не очень хорошо подходит для динамичных игр. Она для них слишком реалистичная. А реалистичная – значит медленная. А вот для относительно неторопливых игр типа The Last of Us подходит отлично – там играешь с геймпада, ползаешь в стелсе, пейзажем любуешься. А вот если игра быстрая, типа шутана аля Quake, то там все привыкли, что герой бегает на скорости километров сорок в час, мгновенно поворачивается и палит на все 360 градусов.

И тут, кстати, можно наконец понять почему в "Киберпанк 2077" будет вид от первого лица, а не от третьего. Нет, то есть там может быть и несколько причин – например то что у разработчиков нет подходящей системы анимаций, потому что та, что была в третьем "Ведьмаке", сейчас уже считается прошлым веком. Но главное, даже если бы студия освоила все эти новомодные моушен-мэчинги, не факт, что получилось бы хорошо. Это вам не Ведьмак, где целиться почти не надо, кнопку нажал и шинкуешь всех как мясорубка.

-7

Но медлительность – не единственный недостаток моушен-мэчинга. Захват движений дает очень грубые анимации, и чтобы их можно было использовать, приходится чистить все вручную. А это опять-таки долго и дорого. Плюс, анимаций получается хоть и больше, чем в традиционном варианте, но все-таки их количество ограничено. На сегодня объем данных, с которыми может работать система, всего 10-20 минут записи движений актера. За это время отрабатывается множество моментов, в которых может оказаться герой, но далеко не все.

Поэтому уже сейчас создаются технологии, которые могут прийти либо после моушен-мэчинга, либо даже заменить их. У них пока нет красивого названию, поэтому называет, кто как хочет. Наиболее известная называется фазово-функционирующая нейронная сеть. Другая – режимно-адаптирующаяся нейронная сеть. Но суть у них примерно одна: так же, как и в моушен-мэчинге, берется актер, на него навешиваются датчики движения, и он начинает ходить-бегать-прыгать по площадке с разными препятствиями. Вот только делает он это не 10-20 минут, а десятки часов.

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

-8

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

В играх этой технологии пока нет, она появилась буквально только что. Но если эти нейронные сети действительно так хороши, как уверяют авторы – это будет революцией почище моушен-мэчинга. Просто за счет дешевизны. Но и у моушен-мэчинга, и даже у нейронных сетей, есть еще одно ограничение. Все они заточены на использование актеров. С их помощью можно создать анимации для людей, инопланетян с двумя ногами, даже для шагающих роботов. Режимно-адаптирующаяся нейронная сеть делает отличные анимации четвероногих объектов.

А вот если надо создать монстра с щупальцами, осьминога в студию вы не притащите. А если и притащите, то не заставите его правильно двигаться в кадре. Или пример попроще. Вашему персонажу надо взять в руки стул и пройтись с ним. Если делать это с помощью захвата движений – надо сначала записать, как актер подходит и берет стул с десятка разных направлений. А затем заново записать все прочие движения: как он ходит, бегает, перебирается через препятствия.

-9

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

С этим справится только одна технология – старая-добрая процедурная анимация. Сегодня она сложная и дорогая, требует ручной настройки и труда множества программистов. Но уже сейчас ищут пути, как это исправить. Есть, например, программа, которая создает анимации ходьбы с нуля. Люди только создают модель: кости, мускулы, связки, сухожилия. Моделируется даже такие мелочи как запаздывание нервных импульсов, пока они идут от мозга к конечностям. Хотя, казалось бы, это настолько малая величина, что ее можно и не учитывать. И когда модель существа готова, искусственному интеллекту дается задача – встань и шагай!

И он пытается идти. Естественно, сразу же падает, не сделав и шага. Также как падает ребенок, который учится ходить. Только компьютер учится гораздо быстрее. С каждой попыткой он изучает ошибки и пытается их исправить. Через десяток попыток он уже может делать несколько шагов, а через несколько тысяч – спокойно бегает в любых условиях, держит равновесие и даже сопротивляется попыткам его уронить.

-10

Порой система решает, что ей выгоднее не ходить, а скажем прыгать, как кенгуру. Бывает и такое. Фишка в том, что если создать монстра с щупальцами, или с десятью ногами и двадцатью руками – компьютер научится управлять и им.

Итак, пора подвести итоги. Анимация The Last of Us Part 2 действительно крутая, они одни из первых применят технологию моушен-мач, и то что мы видели в трейлере – это все реальный геймплей. Когда Элли, скажем, протискивается между шкафами, прыгает за прилавок или забирается под грузовик – это не какие-то специальные анимации для конкретно этого места. А часть глобальной системы, которая позволяет персонажу автоматически обыгрывать такие ситуации.

Но есть два момента, которые стоит учитывать. Во-первых, не стоит ждать от технологии чудес. Сиквел The Last of Us, так же, как и первая часть, это очень медленная и атмосферная игра, она сумеет раскрыть все возможности мо-мэчинга. Но в том же For Honor точно такие же анимации выглядят вполне обыденно. Вроде и круто, но вот такого вау-эффекта нет, в первую очередь потому? что игра очень динамичная и заточена под бои, а не ползание по локациями и любование пейзажами.

-11

И второй момент. В ближайшем будущем моушен-мэчинг или аналоги действительно станут той вещью, которая изменит качество анимации в играх. Уже сейчас ее добавили в UE4, многие студии наверняка прямо сейчас используют эту технологию для создания новых игр. Но если заглянуть чуть дальше – на десять, двадцать лет вперед – то вероятно там для нее места уже не останется. Потому что моушен-мэчинг не решает главной проблемы, он не связывает воедино персонажей и окружающий мир. Это может сделать только процедурная анимация, а значит будущее принадлежит именно ей.

Данный материал представляет собой расшифровку игросториз Алексея Макаренкова. Так что если вам удобней смотреть в видео-формате, вот вам оригинальный ролик.