Меню
StopGame  Аналитика Анатомия игр: Анимация

Самое актуальное

  • «Инфакт» от 19.02.2018 — Заморозка ремейка System Shock, криптовалюта от Atari, Call of Cthulhu
  • Превью по бета-версии игры Pillars of Eternity 2: Deadfire
  • Fe. Лиса в лесах
  • Xenus: Boiling Point. Типичный отпуск
  • The Sims 3. Рандеву со знакомкой
  • Обзор игры Doki Doki Literature Club!
  • Обзор игры Dandara
  • «ММОдерн» №187 — Аватары в Crowfall, монстры Albion, рекорд Entropia Universe, обновление Warframe
  • Пользовательский обзор недели
  • Обзор игры Remothered: Tormented Fathers
  • Kingdom Come: Deliverance. Средневековые амбиции
  • Tropico 5. Отель «У расстрелянного партизана»
  • Dead Island: Riptide. Горячий тур из холодной Сибири
  • Ash of Gods. The Banner Saga по-нашему!
  • Трудности перевода. Portal и Portal 2
  • Обзор игры Wulverblade
  • Превью по бета-версии игры Age of Empires: Definitive Edition
  • Обзор игры Crossing Souls
  • 59-й выпуск ретро-дайджеста
  • Разум Фримана 2 — эпизод 6
  • Обзор игры Dissidia: Final Fantasy NT
  • Обзор игры Railway Empire
  • История компании Rockstar. Выпуск 12: GTA V
  • Рефанд?! — Iconoclasts, Tesla vs Lovecraft, Crossing Souls, Red Strings Club и другие
  • Middle-earth: Shadow of War — Blade of Galadriel. Эльфийская брань
  • Desolate. Деград-Отряд НЕ ВЫЖИВЕТ!
  • Badiya. Бадья Ибн Батута
  • Steam-понос. Свиньи, кувалда и грудь-убийца!
  • Обзор игры Legrand Legacy: Tale of the Fatebounds
  • «ММОдерн» №186 — Большое обновление Final Fantasy XIV, разработчики рассказывают о WoW: Classic

Анатомия игр: Анимация

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

Мы уже в курсе, как ассет обретает свои дизайн и форму, а также игровую модель. С этого момента можно считать, что он уже достиг своего финального вида. Однако пока что он никак не двигается. И чтобы придать ему живости, в дело вступает анимация. Которая начинается с такого странного, на первый взгляд, этапа в производстве, как…

Анатомия игр: Анимация
Скелет персонажа из нашумевшего realtime-demo Infiltrator на Unreal Engine 4.

Сетап и скиннинг (Rig, skinning, setup)


Прежде чем приступить к анимации, ассет сперва должен пройти стадию «рига» (от англ. ‘rig’ — «оснащать», «снаряжать»). На русский язык она по-хорошему вообще не переводится, поэтому ее так и называют, английским вариантом. На этой стадии создаются всяческие ручки, манипуляторы и ползунки, дергая за которые аниматор потом заставит нашего персонажа двигаться.

Первым делом создается виртуальный скелет.

Наш ассет: создан скелет


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

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

Наш ассет: скиннинг


Казалось бы, теперь можно приступать к анимации! Но, увы, еще нет. Пока что анимировать будет очень неудобно.

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

Это так называемая прямая кинематика (FK, forward kinematics). То есть когда мы именно вручную поворачиваем все косточки так, как нам нужно. И она отлично подходит, если надо, скажем, заставить персонажа размахивать руками во время бега. Потому что в этом случае нам без разницы, где именно окажется последняя кость в цепочке: кисть руки просто болтается в воздухе.

Анатомия игр: Анимация
Ставим руку в нужную позу через FK.

Но что делать, если нам надо привести последнюю кость в какое-то конкретное место? Как в примере выше, со ступенькой. На глазок не подгадаешь, насколько надо повернуть сперва эту косточку, потом ту, потом третью… чтобы конец последней оказался во-о-он там.

Вот тут-то нам и приходит на помощь инверсная кинематика (IK, inverse kinematics). Это обратный подход: вместо того чтобы крутить все косточки по очереди вручную, мы создаем стартовый и конечный контроллеры (такие штуки, которые можно двигать), а все косточки между ними автоматически поворачиваются таким образом, чтобы «проложить маршрут» из одной точки в другую.

На словах это объяснить очень сложно, так что давайте просто посмотрим, как аниматор управляет персонажем в режиме IK.

Наш ассет: сетап


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

Профессиональные требованияВладение софтом:

— Все студии используют для анимации Maya, поэтому и риггинг делается там же;
— некоторые фрилансеры-одиночки пытаются анимировать в 3ds Max (потому что знают лишь его). У кого-то даже получается. Для риггинга обычно используются плагины (коих для «макса» — более 9000 в степени 100500);
— конкретно для анимации персонажей есть MotionBuilder, в котором практически не надо ничего «ригать» самому, но есть ряд ограничений (и вообще он лучше подходит для motion capture, а не для «ручной» анимации);
— пока это считается экстравагантным, но некоторые студии перешли на анимацию в Houdini. Правда, их мало, и они заняты не в геймдеве, а в VFX;
— ну и вновь: для любителей Open source существует Blender!

Навыки:

— Доскональное знание анимационного инструментария в основном 3D-пакете студии. Местами — до уровня «немного умею программировать». А местами — даже не «немного»;
— понимание принципов работы так называемых «констрейнов» — тех автоматических «штук», через которые происходит связывание одного объекта с другим;
— понимание того, как риг работает с алгоритмической точки зрения;
— очень хорошее знание математики, а в особенности — геометрии в целом и тригонометрии в частности;
— владение техниками скиннинга.

GameDev vs. VFXСовременные движки поддерживают только кости. Хотя на самом деле для анимации используется широчайший спектр всевозможных деформаторов. От простых процедурных (типа «загнуть по дуге») до сложных динамических, которые по физике умеют рассчитывать движение мышц с учетом их массы, инерции, скольжения кожи, самоколлизий и так далее:


Или даже таких, которые вместо «тяжелого» расчета физики позволяют по-хитрому алгоритмически его «фейкать».
Но, как вы поняли, играм такие технологии пока что даже не светят. Хотя некоторые умельцы уже давно кричат, что разрабатывают системы мускульных деформаций для realtime-приложений, на деле же эти системы недоступны даже с приходом некстгена.
Поэтому на сегодняшний день девелоперы могут повысить реализм того, как гнется персонаж, только через увеличение количества костей. Что тоже можно делать не бесконечно. Да, даже на некстгене. Да, даже для ПК. Да, даже с топовой видеокартой.

Анатомия игр: Анимация
Анимационное дерево в Unity для нашего персонажа.

Анимация (Animation)


Ура! Все подготовительные работы закончены. Можно сказать, ассет почти готов. Осталось лишь его анимировать. Правда, это «лишь» весьма условно: порой создание набора анимаций для персонажа занимает время, соизмеримое со всей предыдущей производственной цепочкой. Чем же конкретно занимается аниматор? Как именно он вдыхает жизнь в ассет? Какой рецепт на этот раз?

После относительно техничного лоу-поли-моделлинга, где, по сути, надо лишь следовать инструкции… После текстурирования, где просто «инструкций» (техник) становится больше… После сверхтехничного риггинга, где вы, собственно, сами создаете инструкции, по которым ассет будет реагировать на ваши действия… После нескольких довольно «рецептурных» стадий — в финале мы вновь обращаемся к старому доброму таланту.

У аниматора нет никакой волшебной кнопки «сделать красиво». Он просто таскает за те ползунки и рульки, которые ему предоставил риггер, до тех пор пока персонаж не станет вести себя как живой. Вот так, просто, как все гениальное.

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

В этом видео легендарная студия Blur хвалит «автодесковский» продукт Face Robot. Дескать, это и есть ее секрет. Но мы-то с вами знаем, что дело не столько в «фэйс-роботе», сколько в том, что «блюровцы» — попросту боги лицевой анимации.

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

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

За последние годы она заставила вас верить в неподдельные эмоции близких сердцу персонажей. В сознании всплывают названия DmC, Batman, The Last of Us и, конечно же, Heavy Rain. Припоминаются какие-то собачки из каких-то очень популярных шутеров, откуда-то сбоку в этот список крадется Голлум из киношного «Властелина колец»…

Да, все верно. Я имею в виду Motion Capture (захват движения).

Анатомия игр: АнимацияТехнология Motion Capture
Ей одной можно посвятить отдельную статью. Если вкратце, то суть ее — в записи движений реальных актеров. Вот ее плюсы и минусы.

Плюсы:

— «Мокап» передает такие микродвижения, которые аниматор со стажем не всегда в состоянии даже вычленить из общей гаммы эмоций. Речь — о лицевой анимации, вспоминаем сериал «Теория лжи»;
— не нужны дьявольски сложные риги, которые будут учитывать все ограничения реального мира. «Мокап» безупречно передает ощущение массы и инерции, потому что действия выполняют реальные участники с реальным телом, у которого есть реальная масса;
— позволяет относительно бесплатно делать множество вариантов одной анимации, каждый из которых будет совершенно уникальным.

Теперь поговорим о минусах:

— В целом технология довольно дорогостоящая. Да, она позволяет разгрузить аниматоров, но при этом требует целый штат новых специалистов, включая наличие хороших актеров. Это финансово оправдано только при работе над очень крупными проектами, для которых надо очень много анимаций. И даже в этом случае все равно будет дешевле арендовать студию, а не держать свою. Потому что стоимость оборудования достигает астрономических сумм (цены настолько высоки, что некоторые производители их вообще не указывают, предоставляя информацию «по запросу»);
— даже полностью «мокап»-сцена требует ручной чистки и доводки, так что аниматоры без работы не останутся;
— некоторые движения в принципе невозможно получить через «мокап», другие же приходится долго и утомительно дорабатывать, чтобы они подходили под технические требования (анимационный цикл должен составлять ровно N кадров; персонаж должен двигаться строго по оси Z; пол, по которому он шел, должен быть безупречно ровным и горизонтальным…);
— данные «мокапа» гораздо сложнее модифицировать, чем ручную анимацию;
— «мокап» должен поддерживаться в риге.

Но в целом эта технология задала новую планку в уровне реализма, вплотную приблизившись к «зловещей долине», а кое-где — даже ее перешагнув.

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

Наш ассет: анимация


Профессиональные требованияВладение софтом — все то же, что и на этапе рига:

— Обычно — Maya;
— иногда — 3ds Max/MotionBuilder/Softimage;
— возможно — Houdini;
— любителям бесплатного — Blender.

Навыки:

— Знание механики тела;
— чувство массы и инерции;
— но на самом деле навык один — умение натурально воссоздавать поведение живых (и не очень) объектов природы.

***

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

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

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

До встречи на страницах StopGame.ru, а пока — желаю вам найти таких единомышленников, с которыми мечты воплотятся в жизнь.
Комментарии (31 шт.)
Хороший аниматор — это хорошо. Гораздо сложнее найти подходящего тебе аниматора, который правильно анимирует монстров и прочие необычные объекты, к которым ещё фиг референсы найдёшь. Вот тут начинаются трудности) Статья (хотел написать лекция), как всегда отличная. Да ещё и в тему (пишу ТЗ для аниматора + собираюсь играть в The last of us, 10 из 10, попал ровно в точку). В общем, спасибо!)
Сложно найти подходящего тебе не только аниматора, а вообще кого угодно. Слаженность и сработанность команды — это вообще что-то незаменимое из разряда высших материй.
Тем-то и ценны именитые студии. Каждый специалист по отдельности там может быть весьма посредственным, но вместе они образуют такое единое целое, что понимают друг друга на уровне ощущения.
Именно это в любой геймдев-студии является самым мощным фактором, влияющим на бренд. И именно поэтому, как мне кажется, руководители этих студий идут на всевозможные ухищрения, чтоб удержать таких сотрудников в команде.
Вообще, на тему организации игрового проекта я думал (и думаю) рассказать в будущих частях.
Статья шикарная.
Читал с огромным интересом.
/me тоже знает про изнанку игростроя, но с более буквенной стороны :3
Которая геймдизайн или которая программинг? ;)
второе
Я уже тут недавно начал изучать Maya и вот-вот доберусь до работы с анимацией :) Спасибо за статью :)
Короче чувак, вот ты реально крутой блоггер, который выбился в авторы! Фактически раздел аналитика полностью за тобой!)))
Спасибо. Не стесняйся (и я сейчас обращаюсь не только к Dkbeliy, а ко всем, кто читает эти строки) предлагать интересующие темы.
Интереснее всего писать о том, что другим потом будет интересно читать.
Если, честно, когда я прочитал «как делать игры», я рассчитывал на кое-что другое.
Ну ты понимаешь, программистов и аниматоров среди нас мало, а вот «хочу сделать игру, суть такова...» куда больше.
Поэтому интересно было бы почитать про геймдизайн. Хотя я понимаю, что наверно это немного не по адресу.

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

И еще… Я даже не знаю как это толком объяснить и про что тут можно было бы написать.
Это всякие «фишки», которые надо знать и понимать. Ну например про «туман»,«взвесь пыли в воздухе». Мне было очень интересно прочитать про то, что для его создания нужно применять экспоненту и понять, почему в некоторых играх он ниочень.
Ну и всякое такое, что в целом можно описать картинкой мыслей студента из лекционного зала «Бл**ь, я просто хотел научится делать игры, что это всё за фигня?»
Про геймдизайн — конкретно этой темы я сторонился по нескольким причинам:
1. хотелось рассказывать от частного к общему. Сперва разобрать то, из чего делается игра, а уже потом — как это собирается вместе.
2. верно, я не гемдизайнер. И чтоб говорить по делу, мне придётся плотно консультироваться с теми из коллег, кто ими, собственно, и являются. А в настоящий момент я меняю место работы, и надо сперва будет познакомиться с тамошними геймдизайнерами, прежде чем приставать к ним с такими вопросами.
3. я убеждён, что крут тот специалист, который начинал свою карьеру на одном конце пайплайна, а в итоге нашёл себя — в другом. Таким образом он знает не только свой уютненький мирок, но и хотя бы поверхностно — знаком со всем остальным. Так что именно потому, что многие тут метят как раз в геймдизов — мне кажется более целесообразным начинать вообще «с другого боку».

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

И да, проект Areal решительно не согласен!
Интерсная статья, прочитал с удовольствием. Возник вопрос-пожелание, расскажите про — процедурную анимацию. Какие инструменты для этого нужны, где и как уже применяют, плюсы и минусы технологии. Думаю, что — это интересная тема, на фоне той же GTA V.
Я вот тут призадумался — и пока что не вижу, как можно одной лишь процедурной анимации посвятить целую статью.
Так что — сразу тут, но вкратце:
Слово «процедурность» обычно применяется к эффектам или моделированию. Про анимацию — пока как-то не слышал. По аналогии, процедурная анимация — это такая, в которой движение получается не за счёт кучи ключевых кадров, которые расставил аниматор, а за счёт какого-то алгоритма, который описывает это движение.
Соответственно, я вижу 3 типа такой анимации:
1. Когда для движка она всё равно выглядит набором анимационных кривых на косточках, а вся процедурность — лишь в том, как она была сделана (в 3D-пакете). Это, по сути, можно назвать просто очень хорошим ригом.
2. Когда под процедурностью понимается то, что окончательная анимация получается лишь в игре. Ну, например, движение камеры — всегда процедурно: она с некоторым сглаживаением следует за игроком. В этом, как понятно, тоже нет ничего особенного.
3. Когда в движке объект не просто перемещается, а как-то процедурно деформируется и/или раскрашивается. Но ввиду технических особенностей такое лучше делать на видеокарте, а не на проце. Соответственно, такую анимацию обеспечивает шейдер, и её обычно относят уже не собственно к анимации, а к шейдингу/эффектам. А вот на эту тему мы ещё поговорим. Это, собственно, моя основная специализация :)
Этим способом обычно заставляют двигаться всякие флаги, волны, траву, деревья, огонь, и т.п.
Я сейчас тут прохожу Prince of Persia 2008-го года, которую в своё время пропустил. Вот как раз в ней для себя отметил отличный пример «процедурной анимации» 3-го вида (я-то не задумываясь отнёс её к шейдингу, но, по идее, это анимация). Я говорю о поведении чёрной жижи, которая в игре называется corruption: при приближении игрока она вытягивается в его сторону, да и вообще движется процедурно.
Напр., её хорошо видно тут, с 1 минуты
Спасибо за ответ.
Допустим в euphoria engine можно создать несколько ключевых кадров для анимации, а все остальные создаются движком на лету. Да, там алоритмы котрые симулируют мускулы и моторную нервную систему, из-за этого анимация всегда получается несколько разной. Это хорошо заметно когда на персонажа действует, что либо физическое. Плюс чувствуется вес персонажа.
Почему используют ragdoll или мокап, вместо таких систем? Ведь выглядит натуральней.
В Prince of Persia, я всегда думал, что — это шейдер красивый.
Конкретно эйфория — это не замена анимации (будь она классической или мокапной), а просто очень хороший обвес. Риг, то есть. Действительно хороший. Но основная задача его — не создавать анимации, а натурально их смешивать между собой и адаптировать под окружение. Для этого-то и используется весь алгоритмический арсенал эйфории, включая симуляцию физики.
Так что рассматривать саьж как «вместо анимации» — не совсем верно. Она даёт наиболее удачные результаты, если «вместе с анимацией». А без оной, только эйфория — получается просто регдолл.
Почему же тогда все её не используют, раз вместе с ней анимация получается живее? А потому же, почему ещё не все используют мокап: получается лучше, но дороже. Причём, не только за лицензию самой эйфории, но и за ту уйму дополнительных человеко-часов, которые потребуются при её использовании.
Кроме того, у эйфории есть очень серьёзный недостаток: то, что она «имитирует работу мозга» (как говорят создатели) — это недетская нагрузка на проц. В этом плане она безоговорочно проигрывает варианту «100500 анимаций с учётом всех переходов из одной анимации в другую».
Спасибо, за более конкретное объяснение. С развитием технологий, надеюсь, что скоро появятся — более совершенные и менее затратные техники для создания анимации.
П.С. Жду статью о шейдинге и эффектах. :)
Можно напишу сюда, хоть и немного не по теме (но вам придет — «вам ответили» и вы прочтете). Хотя в «модель ассета» я тоже ответил))

Лично я считаю, что «Motion Capture» — убивает всю анимацию на корню. (кроме лицевой)
Создается очень четкое ощущение, что ты играешь за куклу и не ты дергаешь её за веревочки.
Вот возьмите например первого Splinter Cell и последнего.
На сколько в первом Splinter Cell анимация смотрится живее. А сейчас мы только смотрим на кусок анимации, при нажатие на нужную клавишу. И только, мы как бы уже не и играем, а смотрим на театр анимации и движений.

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

Так же по сути Motion Capture должен был разгрузить наши системы, так как там, всё уже просчитано за нас, но на деле это не заметно.
И всё таки очень бы хотелось, чтобы разработчики отказались от дорогостоющий (Motion Capture — чтобы потом можно было писать, как много было денег вложено в игру). И наши компьютеры (и приставки) смогли бы уже потянуть — физическую анимацию.
Наши кости, не могут вывернутся под неправильным углом, или на больший градус чем им положено.
Может я много хочу, но почему бы этим костям, с записанной в них данными о углах и градусах, не дать возможность свободно «существовать».
Как я себе это представляю — встать, значит голова на таком то уровне над землей (даже лучше 3 точки — голова, грудь и стопы), а все остальные кости просчитывали своё положение в отношение окружающего мира игры.
Тогда и окружающий мир, научится взаимодействовать на персонажа в игре. А не проигрывать нужные 5 кадров анимации, в нужный момент.
Всё то, что ты описал — уже есть в современных играх. Давай по порядку. Сразу прости за множественное цитирование.

Создается очень четкое ощущение, что ты играешь за куклу и не ты дергаешь её за веревочки.

Это свойственно что мокапу, что классической анимации. Зависит это только лишь от количества сделанных анимаций и переходов. А также способа этих самых переходов, но об этом ниже.

Особенно смешно это смотрится когда Motion Capture скрещивают с (скелетной анимацией или она называется, точнее — не помню, которая например сильно использовалась в HL2 — с физической анимацией, так сказать.)

Это уже не совсем анимацию ты имеешь в виду, а симуляцию. Самый простой и частый случай — рэгдолл. Та самая «кукла». Каждая кость имеет свою массу и двигается по физике, с учётом массы. Подходит этот рэгдолл только для мёртвых тел. Заставить по нему двигаться персонажа будет: а) чертовски сложно, б) крайне ненатурально.
Случай посложнее — упомянутая выше в комментах Euphoria/Endorphin — поступает уже немного хитрее. Да, симулирует движение тела. Но только в общих чертах. А для финального результата сверху по-хитрому примешивает движения из заранее записанной анимации.
Но — опять же, применять эту технику чертовски сложно и зачастую неоправдано. Гораздо проще — записать 100500 вариантов мокапа на все случаи жизни, и на лету переключаться между ними.

Так же по сути Motion Capture должен был разгрузить наши системы, так как там, всё уже просчитано за нас, но на деле это не заметно.

Нет, не должен. Мокап или ручная анимация — это лишь способ её изготовления. В движок же это всё равно поступает в виде пачки анимационных кривых (долго объяснять, что это такое — погугли, если интересно: Maya Graph Editor). И ему там совершенно индифферентно, вручную это было сделано или через мокап.

И наши компьютеры (и приставки) смогли бы уже потянуть — физическую анимацию.

Наши компьютеры «физическую анимацию» ещё нескоро потянут. Во-первых, давай разобъём эту задачу на части. Пойдём «задом наперёд».
В самом конце надо заставить точки меша деформироваться в соответствии с движением тела. Если это делать по физике (всякое там скольжение кожи по мышцам и костям) — уже здесь современные мощности лягут. Так что пока (и ещё надолго) — старый-добрый скиннинг.
Идём дальше. Для этой двигающейся поверхности тела надо же сперва просимулить движение самих костей и мышц, по которой она будет скользить. Тут тоже облом: эта стадия сама по себе также кладёт самые современный нынче видюхи и процы.
Ладно, допустим, это исправить удалось. Но чтоб кости двигать — к ним же надо силы прикладывать в нужных местах и с нужной интенсивностью. Да-да, именно так и будет происходить анимация: не перетягиванием какой-то ключевой косточки в нужное место, а приложением пачки сил в нужных точках. И расчитать конфигурацию этих сил — задача, которая сложна уже не только вычислительно, но и алгоритмически. То есть, сейчас пока нет для этого универсальных алгоритмов, и для каждого случая придётся изобретать свой велосипед. К тому же, редактировать такую анимацию будет дьявольски сложно.
Короче говоря, такой подход не нужен. Ни сейчас, ни в скором будущем, ни вообще.

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

А это ты сейчас описал самый типичный риг. И это не вопрос наличия или отсутствия технологии, а вопрос использования её в движке.
Иногда — из 3D-редактора выгружается просто ворох анимационных клипов (в каждом из них — пачка анимационных кривых), а в движке во время игры они просто переключаются с одного на другой ну или плавно «перетекают» друг в друга. Это один подход, классический.
Другой — сложнее. Это как раз и есть использование некоего рига непосредственно в игре. Например, тот же рэгдолл — уже требует какого-никакого рига. Тут реализаций может быть масса. Вплоть до того, что в движок выгружается не сами итоговые анимации на костях, а анимации тех контролов рига, которые двигают скелет. А движок уже сам, в рантайме, высчитывает финальную костную анимацию и по ней деформирует меш. Очевидно, что в таком случае игровая логика может как-то подправить санимированное. Например, подвинуть контрол лодыжки пониже, чтоб нога встала ровно на пол. Но это: а) гораздо сложнее, б) ресурсозатратнее. Потому что 95% времени ничего в анимации анимироваться не будет, но пересчёт рига в кости всё равно потребуется.

В качестве этакого итога я могу сказать 2 вещи:
1. всё создание цифрового контента сводится к своеобразному понятию достаточной убедительности. Никто не хочет (и, по большому счёту, никому не нужно) делать абсолютно-безупречно-идеальный реализм. На глазок уже «искусственность» не особо заметна? Ну и замечательно, готово! Лучшее, как известно, враг хорошего. И если найдётся такой разраб, который надумает сделать неукоснительно точную систему анимацию, сплошь всю на физике — такая игра будет жрать непомерно ресурсов и вообще никогда не выйдет.
2. что в рамках статьи, что в рамках этого коммента, я не могу доступно объяснить, почему же именно такая сверх-труЪшность в анимации невозможна и не нужна. Если тебе эта тема интересна — можешь, начав с этого, потихоньку самостоятельно углубиться в вопрос и убедиться, что это так. Либо же своим свежим взглядом увидеть новое решение, которое поразит всех.
Ого. Спасибо за такой, развернутый ответ. Огромное спасибо, прямо скажу.

p.s. чуть чуть отойду от темы(предыстория). смотрел передачу, там исследователи записывают то, как двигаются части человеческого тела и реакцию мозга в этот момент. (для создания искусственных (механических) конечностей).
И они пришли к выводу, что человеческое тело имеет придел на движения.
Не помню точно, но например кисть человека может совершить 100 000 разных движений, а дальше они начинают повторятся.

И исходя из того что вы объяснили, получается — как раз этот метод и будет будущем анимации. Не физический просчет (как я размечтался), а повторение из миллионов возможных вариантов.

Это свойственно что мокапу, что классической анимации. Зависит это только лишь от количества сделанных анимаций и переходов. А также способа этих самых переходов, но об этом ниже

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

В современных играх давно пришли к пониманию целесообразности.
95% потребителей даже не станут внимательно изучать весь тот контент, который так кропотливо делался. Так что ради чего, как говорится, рвать жопу?
Для оставшихся 5% — следуют тому самому принципу «достаточной убедительности» — и ладно.
Как я сказал выше, супер-пупер никому не надо.
Отличная статья. Почувствовал себя чуть-чуть гейм-дизайнером. А про мокап точно нужна отдельная статья. В последнее время очень популярная технология.
Спасибо! Статья как всегда очень интересная и полезная.
Спасибо за статью. Статья супер )
Чем больше узнаю про разработку игр, тем меньше мне охота этим заниматься. Спасибо за статью, с нетерпением жду продолжения.
Почему?
А ты как думаешь? Эта работа для усердных людей, но мне увы терпения на такую работу не хватит.
Ну я же вроде как акцентирую внимание на том, что всё это — большой конвейер с кучей разных задач для разных людей. Одному это всё уметь в совершенстве — не надо.
Это я понял, правда легче не становится.
Лекс, когда же будет следующая часть?
Для комментирования необходима регистрация.
Прямой эфир
Наверх ↑