Найти в Дзене
Stronghold of gamedev

Процедурная анимация в играх

Оглавление
Red Dead Redemption 2, обладательница выдающейся системы Euphoria
Red Dead Redemption 2, обладательница выдающейся системы Euphoria

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

Персонаж со скелетом
Персонаж со скелетом

Основы

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

Симуляция физики твердых тел
Симуляция физики твердых тел

Ragdolls

Простейший пример процедурной анимации - ragdoll-физика, или тряпичная кукла. Впервые появилась в игре 1998 года Jurassic Park: Trespasser и положила начало развитию процедурной анимации.

2018
2018

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

Жесткая демонстрация
Жесткая демонстрация

Foot IK

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

Foot IK
Foot IK

Как работает? Из коленей каждый кадр направляются лучи вниз, при столкновении с каким-либо объектом (неровность, ступень, любой другой объект) определяется точка контакта и наклон, после этого движок перезаписывает движения ног в анимации и ставит ступню в точку контакта.

Слежение за объектом

Очень простой механизм, применяющийся в основном виграх с системой прицеливания.

Слежение за объектом
Слежение за объектом

Как работает? Вектор позиции цели вычитается из вектора позиции игрока, зачастую в движке есть встроенные и отлаженные функции для поворотов в сторону объекта с численными ограничениями, чтобы голова персонажа не крутилась во все стороны.

AIM IK

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

Система прицеливания
Система прицеливания
От первого лица
От первого лица

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

Интеракция с миром

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

Интеракция с миром
Интеракция с миром

Что? Вам кажется что анимация заранее заготовлена? Положим мяч рядом, поверенем дверь, переместим сигарету и опустим кнопку.

Магия
Магия

Теперь рука тянется к объекту с более длинной цепочкой зависимости костей. Если ноге достаточно цепи костей : ступня, голень, нога, то в этом примере кости двигаются вплоть до позвонков над тазовой костью.

Active Ragdoll

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

Кажется этому рэгдоллу не по себе
Кажется этому рэгдоллу не по себе

Locomotion

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

-13

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

Цикл статей о анимации :
Эволюция 2D анимации
Эволюция 3D анимации
Игры с лучшей анимацией

Дополнительные материалы :

Демонстрация одной из лучших систем процедурной анимации Europhia на примере Grand Theft Auto IV

Попытка повторить достижения Europhia

Подборка одна из многочисленных демонстрацийRagdoll физики на примере Red Dead Redemption 2 с использованием Europhia