Grand Theft Auto 4
  

Секрет реалистичной анимации GTA IV

С релиза Grand Theft Auto IV прошло уже 10 лет, но "вау-эффект" от знакомства с её физикой и анимацией всё ещё не улетучивается, а YouTube завален сравнениями GTA 4 и GTA 5, которые наглядно демонстрируют, что "раньше было лучше". Что позволило старенькой четвертой ГТА обзавестись настолько крутой анимацией, и почему спустя столько лет её так трудно переплюнуть.

Скорее всего, вы слышали про штуковину под названием euphoria ещё до выхода GTA IV – уж больно громогласно Rockstar хвастались этой технологией. В презенташках показывали запредельно крутую анимацию персонажей, которая, будучи на 100% программным средством, выглядела не хуже захвата движений живых актёров. Но больше всего поражала даже не плавность и достоверность движений, а способность системы реагировать на внешние объекты, с которыми контактирует подконтрольный "эйфории" персонаж. Сценка пьянки с Романом, по-полной раскрывающая возможности эйфории, стала одним из самых запоминающихся эпизодов игры.

How it works?

Как и всегда, попробую осуществить ликбез максимально кратко и понятным для всех языком.

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

Сравнение euphoria (слева) и ragdoll (справа)

Вот вам простой пример. Если, упаси Талос, кто-нибудь скастует на вас ФУС-РО-ДА, то вы не отлетите в сторону как мешок с навозом, а сгруппируетесь и попытаетесь приземлиться либо на мягкие ткани, либо на конечности. Да, ваш мозг – не компьютер, и вы не всегда сможете вовремя среагировать на угрозу и в ряде случаев плюхнетесь на землю не самым удачным образом, но разработчики euphoria подумали даже об этом. В систему включили симуляцию задержки от момента осознания опасности до реакции на неё и разбавили всё это элементами случайности. Всё это позволило системе каждый раз генерировать абсолютно уникальные, но всегда максимально реалистичные анимации.

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

Куда делась эйфория?

Дело тут в том, что в отличии от того же всем известного Havok, euphoria – это не программный пакет, не физический движок и не плагин для рокстаровского RAGE Engine. Систему Dynamic Motion Synthesis (именно так поначалу называлась euphoria) разрабатывала конторка талантливых выходцев из Оксфорда – NaturalMotion, и изначально никто даже не думал применять её в играх. Осознав, насколько круто DMS симулирует анимацию, ребята стали эдаким коллективом фрилансеров, работая то на кинематограф, то на игровую индустрию. Первый по-настоящему масштабный заказ NaturalMotion получили именно от Rockstar. Задача стояла вполне понятная, но совсем не простая – разработать ультимативную систему процедурной анимации для GTA IV.

NaturalMotion не просто копипастили код своей чудо-программы в движок RAGE и нажимали кнопку "СДЕЛАТЬ ЗА*БИСЬ" – к сожалению, так оно не работало. Интеграция euphoria в игру – это гигантская по объемам инженерная работа, над которой трудится множество высококлассных и очень дорогих специалистов. Кроме того, именно работа над GTA IV была проведена максимально скрупулёзно. Это была по-сути презентация технологии – во-первых, и Rockstar не скупились на роялти – во-вторых. Точная сумма заказа не известна, но несколько несвязанных друг с другом источников говорят о семизначных суммах в $.

Стоит ли говорить, что при таком прайсе за услуги список потенциальных клиентов катастрофически сужается. В общей сложности, euphoria была интегрирована всего в семь игр, половина из которых – проекты Rockstar. Вот полный список: GTA 4, GTA 5, Max Payne 3, Red Dead Redemption, Star Wars: The Force Unleashed, Star Wars: The Force Unleashed 2 и симулятор американского футбола Backbreaker. Даже большие дядьки из Sony и Ubisoft решили разобраться с анимацией своими силами.

Star Wars: The Force Unleashed

Если проблема с доступностью объясняет отсутствие euphoria в современных играх, то ситуация с даунгрейдом физики и анимации в GTA 5 всё ещё остаётся открытым вопросом. К сожалению, я не смог нарыть для вас хоть сколько-нибудь достоверной инфы по интеграции euphoria в GTA 5, кроме того, что она там есть – уж очень Rockstar закрыты для медиапространства. Могу лишь строить догадки о том, что чрезмерно сложная анимация и физика вышла бы боком в GTA Online, где важно максимально быстро синхронизировать между десятками клиентов всё происходящее в сцене. Пишите свои теории в комментарии, может хоть вместе разберёмся.

Сравнение GTA 5 и GTA 4

К счастью, euphoria не ушла бесследно, оставив после себя более простую и дешёвую версию системы анимации – Morpheme. Насколько я понимаю, эта штука интегрируется в движок игры гораздо легче, чем euphoria, но выглядит не так эффектно. Morpheme использовалась в Killzone: Shadow Fal, Until Dawn и Quantum Break – уже довольно свежих играх.

P.S.

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

Нравится71
Комментарии (38)
  • Ruv1k #
    21
    то ситуация с даунгрейдом физики и анимации в GTA 5 всё ещё остаётся открытым вопросом.

    Ну тут стоит отметить что возможно из-за этого ГТА 4 лагала, а ГТА 5 - нет.
    Хотя было бы не плохо эту самую процедурную генерацию анимации переложить на ГПУ. Шейдерные блоки простаивают, а могли бы работать. Один хрен в играх Рокстара нет никаких Физиксов.
  • Гта 4 лагала из-за кривой оптимизации, кривой защиты от пиратства и кривого сошиал клаба. Кто говорит про лаги, попробуйте на текущем железе, на котором отлично идет гта 5 запустить гта 4. С последними патчами лицензию, игры не особо и отличаются по производительности. Я имею ввиду гта 4 и гта 5 онлайн
  • К сожалению сейчас цель почти каждого издателя и разработчика является вложение меньшего ради получения большего и постоянно. Их цель это сделать прибыльную игру-сервис и перевести каждый сингл-тайтл на постоянную систему монетизирования.
  • Ruv1k #
    4
    Leohn
    Leohn написал:
    Кто говорит про лаги, попробуйте на текущем железе, на котором отлично идет гта 5 запустить гта 4. С последними патчами игры не особо и отличаются по производительности.

    Не поверишь, GTX560Ti + FX-8150 с патчем 1.0.4.0 80-100 фпс в четверке вываливают. Чето я сомневаюсь что такой конфиг в пятёрке 80-100 фпс вывалит.
    А на современном железе через жопу работают старые игры, потому что драйвера никто не пилит под старые игры для нового железа. Другой пример: вот есть условная игра 2004 года, на старом железе было например 60фпс, а сейчас железо в 10 раз мощнее, но фпс отнюдь не в 10 раз больше, а будет крутится в районе условных 150-200, то есть всего-лишь в 3-4 раза выше, короче прирост несоизмеримый с фактической мощностью.
  • Leohn
    Не знаю, на PS3 играл, чет лагов не заметил.

    P.S Гифка из The Force Unleashed II
  • Grandshot #
    7
    Ruv1k написал:
    а сейчас железо в 10 раз мощнее, но фпс отнюдь не в 10 раз больше, а будет крутится в районе условных 150-200, то есть всего-лишь в 3-4 раза выше

    Так это специально ограничение fps срабатывает, заранее предусмотренное в движке либо устанавливаемое ОС. Иначе видеокарта попытается "выжать" из себя максимально возможное количество фпс, загрузится на полную, ну и температура, разумеется, поползет вверх.
  • Ruv1k #
    6
    Grandshot
    Больше не пиши такого. Мне плохо когда я такое читаю.
  • Grandshot #
    6
    WanRoi
    На PS3 разрешение едва ли 1280x720 и ограничение в 25-30 fps. Запусти игру на ПК с таким же ограничением fps и разрешением, и получишь точно такую-же стабильность. На достаточно мощных для GTA IV конфигурациях, падения фпс из-за "оптимизации" редко когда достигают плинтуса ниже 30 фпс. Другое дело, что с этими скачками 60-38 фпс не очень-чтобы комфортно.

    Ruv1k
    Ну чтож, с помощью какой-нибудь спец программы или хуком движка сними лимит фпс в любой старой игрушке и наслаждайся жаровней. Авось и полегчает )
  • Bupycop #
    10
    Ruv1k
    Ruv1k написал:
    Не поверишь, GTX560Ti + FX-8150 с патчем 1.0.4.0 80-100 фпс в четверке вываливают. Чето я сомневаюсь что такой конфиг в пятёрке 80-100 фпс вывалит.

    Эт на каких настройках? А то моя gtx 980 не способна даже удержать стабильные 60 в 4-й части на макс. настройках.
  • Ruv1k #
    9
    Bupycop
    Bupycop написал:
    Эт на каких настройках? А то моя gtx 980 не способна даже удержать стабильные 60 в 4-й части на макс. настройках.

    Это на ультрах. Причина описана выше.

    Grandshot
    Grandshot написал:
    Ну чтож, с помощью какой-нибудь спец программы или хуком движка сними лимит фпс в любой старой игрушке и наслаждайся жаровней. Авось и полегчает )

    Угу, а одного ядра процессора хватит подготавливать 1000 кадров в секунду для видеокарты? Интеллектуал.
  • Grandshot
    На видеокарте с 256mb и оперативкой в 512Mb, - Серьезно?
    Проц в консоли 8 ядерник с 3.2 - в то время в "стационарках" такие не стояли. Процессоры стоимостью в 1500$ - явно не геймеровские были.

    P.S А, в вики увидел дату 2016, последняя версия игры:D А вто время как раз и были i7 по 10 ядер.
  • Grandshot #
    1
    Ruv1k написал:
    Угу, а одного ядра процессора хватит подготавливать 1000 кадров в секунду для видеокарты?

    Даже если учитывать, что старые игрушки обычно не используют больше одного ядра, фпс все равно может переваливать за тысячи в какой нибудь 2д игре или банально в главном меню, не будь движковых лимитов.
  • Пусть Рокстар расскажет Юбисофт как делать анимацию. А то в последних ассасинах уже даже не смешно видеть такое
  • Kato Nekato #
    18
    Сейчас вспоминаю GTA 4 и то как я в первый раз увидел эту физику в действии и остался в шоке.
    Потом я близко не видел ни одной игры от конкурентов с такой физикой(WD и Saints Row).
    Одним из пунктов даунгрейда в пятёрке считаю..геймплейная составляющая.А именно никому не было в кайф когда в GTA 4 порой на мотаке тебя запускает в космос ведь в реальности посмотреть на любую аварию с мотоциклом водитель не улетает в космос. Да и в GTA 4 это выглядело круто,но я помню после выхода игры многие бугуртили на тему того,что Нико задолбал крутиться после того как в него чутка машина врезалась.
    Мне больше по душе эйфория из четвёрки,но модами пытаются это исправить в пятёрке и получается...двояко. Что то среднее.
  • yariko.v #
    20
    Поддерживаю! ГТА 4 по прежнему одна из лучших игр в серии с годным сюжетом, проработанной атмосферой и яркими персонажами!
  • Анимация персонажей конечно лучше в гта 4, но вот тачки в гта 4...ну я не знаю словно на пружинах были
  • Ruv1k
    Leohn
    Игра просто не использовала все ресурсы видюхи и оперативы, спустя год это решалось добавлением командной строки commandline с определенными параметрами в ярлык игры кажись, так-же в la noire делали

    Да вообще я заметил, что в Гта 5 порезали и физику тел (игра стала походить на другой любой шутер от 3 лица) и деформацию тачек

    В killzone shadow fall как раз я заметил хорошую физику тел, одну из лучших за последние годы. Враги реалистично падали на манер Гта 4

    В Квантуме напротив ничего такого не заметил, в антил даун физики не припомню вообще. Там по скрипту все
  • ну на первый пека взгляд гта подобную анимацию заделать нетрудно. для этого нужен локомоушон с преграждением по коллизии. некий просчет упругости на сгибание в костях далее собственно смешивать анимации и рэгдолл физику с возможностью отключать части тела. далее потребуется мого анимации и какая то хитрая система ходьбы основанная не капсуле а на физически подомном аи расчете опоры и кукла которая будет сильно стараться в эту анимацию костями попасть и стараться всячески ее догнать (в то время как на нее действует ньютоновская физика и аи задержка на реакции при измении положения ведущего скилета) и занять положение.
    еще очень сложная тема это аи эмоции вощем и аи по иде должен избирать наиболее корректную анимацию походки. а сам по себе аи это огромный массив из переменных и пороса мира на эти переменные.
    еще одна очень сложная тема это реализация свойств поверхности от гпу. конечное ее решение скроей всего камера на каждой ноге шине и двойная обработка мира с редером скользкости так сказать. зотя у дх11 есть в общем то трансляция гпу данных обратно в процессор ак что нужен просто сильно модифицированный движок. пек-пек
    вот это будет некстген
    но на словах то лев тостой а на с++ петушок
  • Ruv1k #
    0
    Grandshot
    Grandshot написал:
    переваливать за тысячи

    Так и переваливает за тысячи только в меню и только там где железки более менее поддерживаются. ГТА 4 в меню без Vsync'а за 30к вываливают. И че теперь? В самой игре не больше 70.
    А движковые лимиты стоят там где разработчики больше или не захотели делать, или тайминги к фпс привязаны.
    Кароче то что ты говоришь про то что это специально сделано - чушь собачья. Современный конфиг который выдает меньше кадров, чем топовый но актуальный на момент выхода игры - вот это уже действительно факт и дело тут только в разработчиках видеокарт.
  • sanchez752 #
    1
    В GTA5 намного больше экшена и темп игры быстрее. Медленная процедурная анимация из 4ки просто не подходит к такому геймплею.
    По мне с физикой 4ки немного перестарались, людишек слишком сильно мотает, но с ней все равно интересно играть)
  • В данный момент перепрохожу Гта 4 на пс3, до чего же кайфовая игра, сюжет и постановка выше на голову чем в пятой части, про физику я вообще молчу, не в какое сравнение.
  • спасибо эйфории, которая себя еще и в форс анлишд отлично показала
  • sanchez752 #
    3
    Nicolas Lonn
    Там еще шикарная физика разрушения и деформации окружения Digital Molecular Matter, которую больше нигде не видел(
    Такой кайф было гнуть шлюзы и ломать деревянные конструкции
  • Эйфория первой была в Форс Анлишд и атм она поражала вся эта физика. но конечно ГТА вывела её на запредельный уровень из за большего наличия механик. движок или как его правильно назвать программа конечно очень крутая.
  • dh57 #
    4
    Пошел покупать 4-ку
  • Karnefis #
    7
    Гавно ваша пятая! GTA IV forever!!!
    Я полюбил НьюЙорк благодаря ЛибертиСити, и разлюбил Голивуд, из-за ЛосСантоса пятой части.
    (GTA SA не в счёт)
  • yariko.v #
    4
    Karnefis написал:
    Гавно ваша пятая!

    Я играл и в четвертую и пятую части. Не сказал бы, что ГТА5 так уж плохо пахнет, но по сравнению у четвертой части вкус и аромат конечно намного приятней.
  • SloT24rus #
    1
    Ruv1k написал:
    Не поверишь, GTX560Ti + FX-8150 с патчем 1.0.4.0 80-100 фпс в четверке вываливают. Чето я сомневаюсь что такой конфиг в пятёрке 80-100 фпс вывалит.

    Вот давай не будешь тут заливать, у самого стояла 560ti около 5 лет, о каких ты там 80-100 фпс говоришь, я хз.
    Ruv1k написал:
    Другой пример: вот есть условная игра 2004 года, на старом железе было например 60фпс, а сейчас железо в 10 раз мощнее, но фпс отнюдь не в 10 раз больше,

    Смотря какая игра, проходил тут не давно Far cry 1-ый, фпс прыгал от 600 до 1000 (GTX 970)


    Спойлер
  • А причем тут вщ то, что Гта 4 лагает, а 5 нет? Давайте учитывать еще то, что в гта 5 геометрия и количество объектов намного меньше, а также игра работает на условных 6 потоках, а та же гта 4 не бустит фпс после двух потоков, кроме как стабильного фреймтайма. Гта 4 просто вышла очень рано, когда сингл кор перфоманс был на дне, а также, разрабатывалась очень долго и разработка началась очень рано, когда еще не было мультипотока. Но при этом им удалось реализовать такую физику, геометрию объектов и их количество всего на 2 потоках, что просто гениально
  • Ruv1k
    Это не из-за дров. Это скорее условность, ибо старые игры не использовали мультипоток, поэтому количество дроу коллов намного меньше, чем может обработать гпу и она не будет работать на фулл. Выросла пропускная способность памяти, частота, а также появились мощные IPC, оттуда и прирост. Если прикрутить к старым играм мультипоток, что просто невозможно, ибо это уже код движка, то и прирост будет значительным. Коротко говоря, приросте нет не из-за гпу, а из-за неспособности к мультипотоку
  • Ruv1k #
    2
    SloT24rus
    SloT24rus написал:
    Вот давай не будешь тут заливать, у самого стояла 560ti около 5 лет, о каких ты там 80-100 фпс говоришь, я хз.

    Да мне все равно че у тебя там было. Я знаю как люди говно собирают. Вон один пишет что у него нет разницы между стоком и оверклоком процессора до 5ГГц, другой пишет что нет разницы между DDR2 800Мгц и DDR3 1600Мгц, ты мне теперь еще вот рассказываешь то, что я сам видел.
  • Всегда нравилась GTA IV из-за серости и драматического сюжета.
  • SloT24rus #
    2
    Ruv1k
    Ты сравнил очевидные вещи и очевидное вранье. Не было и не будет 80-100фпс на 560ti в гта4, мб только в хате возможно добиться такого фпс, и то сомневаюсь
  • Ruv1k #
    0
    SloT24rus
    Знал бы я что кому-то с ПГ через 5 лет придется пруфать я бы тогда скрины сохранил на имгуре.
  • SloT24rus #
    2
    Ruv1k
    Че тут пруфать то, на ютубе находишь тесты и все становится ясно. Просто прекрати врать и все.
  • Lovagi_Darwave #
    1
    Обожаю Euphoric Engine в GTA IV такая классная игра) и GTA 5 тоже классная
  • Ruv1k #
    0
    SloT24rus
    SloT24rus написал:
    на ютубе находишь тесты и все становится ясно.

    Угу, когда я сидел на 7950 то видел у себя на счетчике 30-40 фпс, а на ютубе у всех под 70.
  • раньше было лучше
B
i
u
Спойлер