Разработчики действительно обучили по модели для каждого из языков озвучки.
Из последнего номера PC Gamer мы узнали, что в Cyberpunk 2077 анимации для большей части персонажей генерируются автоматически, с помощью нейросетей. Для этого CD Projekt использует наработки канадской компании JALI Research.Чтобы объяснить, как работает технология процедурной генерации лицевых анимаций, в JALI подготовили специальную презентацию, в создании которой участвовали сотрудники CD Projekt RED. Оказалось, что система используется для анимации вообще всех героев, появляющихся в Cyberpunk 2077.Презентация была показана на конференции SIGGRAPH, теперь ее выложили в открытый доступ. Пересказываем ее основные моменты.
Начало и постановка задачи
- Технология разрабатывалась при участии CD Projekt RED. Студия вышла на JALI в 2016 году, когда начала подыскивать новую систему анимаций для Cyberpunk 2077.
- После выпуска The Witcher 3 в CD Projekt RED решили пересмотреть подход к созданию анимаций. Компании требовалась система, способная имитировать эмоции и генерировать анимации более высокого качества.
- Новая система должна была генерировать естественно выглядящие анимации для десяти языков, обходиться без захвата движений и работать так, чтобы ее можно было применить к любому персонажу.
- Процедурно генерируемые анимации должны быть комплексными. Персонаж не просто двигает губами в такт словам: меняются выражения лица, он моргает, проявляет эмоции.
Как работает система
- На входе генератор получает озвучку, записанную актером, и набор тегов, описывающих параметры сцены. Примечательно, что генератор может работать и без тегов — только со звуком.
- Озвучка анализируется с помощью нейросети: определяются тайминги, громкость фраз, темп речи и другие параметры.
- Искусственный интеллект умеет определять, какие мышцы и элементы лица задействованы при проговаривании той или иной фонемы и знает, как именно они движутся в этот момент.
- Систему можно легко расширять, добавляя простые правила: например, что конкретную фразу персонаж должен проговаривать с заиканием. Добавление такого правила занимает несколько часов.
- Технология умеет динамически переключаться между языками: например, если персонаж сперва говорит на английском, а затем произносит пару слов на французском. Такие переключения прописываются вручную.
Как сделаны правдоподобные детали
- Моменты для моргания система выбирает автоматически. Для этого используются три параметра: во-первых, анализируется звуковая дорожка; во-вторых, проводится лексический анализ текста; наконец, учитывается время, прошедшее с последнего моргания.
- Правдоподобные микродвижения глаз тоже генерируются автоматически. Для этого разработчики создали статистическую модель, работающую в паре с другими игровыми системами. Например, если персонажу почему-то нужно смотреть в определенную точку, микродвижения не будут уводить его взгляд в сторону.
- Зрачки персонажей сужаются и расширяются в зависимости от интенсивности освещения. При моргании глаза на миг оказываются в темноте — и зрачки тоже немного расширяются.
- Чтобы управлять движением бровей, генератор анализирует эмоции, которые испытывает персонаж. Для этого анализируется звуковая дорожка; кроме того, для каждого NPC сгенерирован специальный профайл, описывающий его стиль речи.
- Экспрессивность и эмоциональность отыгрыша той или иной фразы можно менять вручную. Для этого сделаны специальные теги, позволяющие указывать эмоциональность в процентах: например, 50% радости или 20% страха. Выставлять больше 100% тоже можно.
- Помимо собственно анимаций технология генерирует микродвижения лицевых мышц и управляет поворотами шеи: ее движения тоже добавляют реалистичности. Шея движется не очень интенсивно — иначе это выглядело бы неестественно.
Как генерируются анимации для разных языков
- Технология может генерировать анимации для десяти языков, включая русский.
- Для адаптации мимики под конкретный язык используется акустическая модель, специальный словарь произношения слов и модель, умеющая преобразовывать графемы в фонемы.
- Преобразование графем в фонемы понадобилось для корректной обработки слов, отсутствующих в словарях. Благодаря этому система может генерировать достоверно выглядящие анимации для незнакомых слов. Сама модель работает очень точно; это важно для языков, похожих на японский.
- Акустическая модель предсказывает, какие фонемы будет произносить персонаж; для этого анализируется текст диалога и сама озвучка.
- Модели обучались на обширных выборках данных: сотни часов озвучки и соответствующих текстов для каждого из поддерживаемых языков.
- Отыгрыш эмоций может сильно варьироваться в зависимости от языка. Например, в японской озвучке персонажи не будут играть бровями так же активно, как в английской — потому что реальные японцы так не делают.
Источник: wtftime.ru
Комментарии: