Найти тему
Stronghold of gamedev

Как создают лицевую анимацию

Оглавление

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

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

Технический фундамент

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

-2

Промежуточные значения генерируются автоматически, по средствам математической интерполяции. Что это такое? Уложусь в пару строк :
Предположим есть условная группа вершин, челюсть например, и, увидев эту статью, он отвисает на 100 условных единиц, пусть будут миллиметры. Влияение шейпа на геометрию измеряется от 0 до 1, вплоть до сотых, получается где-то на 0.65, челюсть будет свисать на 65 миллиметров.

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

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

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

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

Захват движений и прочая магия

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

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

-4

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

Как вы уже догадались, в софте для анимации подобные магии тоже имеют место быть. Каждая косточка модели начинает двигаться вслед за трекером и так получается анимация. Единственный минус наверно в том, что координаты трекеров меняются лишь по двум осям, так например он не сможет распознать выдвинутую челюсть, изменившую свое положение по неостлеживаемой оси z (глубина).

MotionScan
Приведу самый совершенный на сегодня пример : L.A. Noire.
Игра имеет поразительно реалистичные анимации лица, основанные на сканировании лиц актеров.

-5

Вокруг оных располагаются 32 камеры высокого разрешения, каждая охватывает область в 12.5 градусов. Методом динамичного 3D сканирования, софт генерирует высоко детализированную модель и изменения её геометрии. После свершается ретопология - упрощение геометрической сетки, дабы мощностей устройств обывателей хватило чтобы поиграть.

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

-6

Работает не точно, но работает. Для начала так же определяется лицо индивида с веб-камеры, после оно делится на зоны : рот, глаза и т.д.
Технически софт делает то же, что и
motion tracker, только для его работы не надо себя разукрашивать.

-7

Эмоции можно перенести на любую модель, лишь бы движок понимал где какие части лица у вас и у неё.

Соседние статьи с канала :
Процедурная анимация в играх
Как анимируются персонажи? Опыт создания
Как работают читы