Evernews 17924

Как лица всех героев Cyberpunk 2077 анимировали с помощью ИИ

27
Поделиться
Поделиться

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

Как лица всех героев Cyberpunk 2077 анимировали с помощью ИИ

Из последнего номера PC Gamer мы узнали, что в Cyberpunk 2077 анимации для большей части персонажей генерируются автоматически, с помощью нейросетей. Для этого CD Projekt использует наработки канадской компании JALI Research.

А вот еще история
Технологии Cyberpunk 2077: автогенерация лицевых анимаций и гибридная трассировка лучей

Чтобы объяснить, как работает технология процедурной генерации лицевых анимаций, в JALI подготовили специальную презентацию, в создании которой участвовали сотрудники CD Projekt RED. Оказалось, что система используется для анимации вообще всех героев, появляющихся в Cyberpunk 2077.

Презентация была показана на конференции SIGGRAPH, теперь ее выложили в открытый доступ. Пересказываем ее основные моменты.

Начало и постановка задачи

  • Технология разрабатывалась при участии CD Projekt RED. Студия вышла на JALI в 2016 году, когда начала подыскивать новую систему анимаций для Cyberpunk 2077.
  • После выпуска The Witcher 3 в CD Projekt RED решили пересмотреть подход к созданию анимаций. Компании требовалась система, способная имитировать эмоции и генерировать анимации более высокого качества.
  • Новая система должна была генерировать естественно выглядящие анимации для десяти языков, обходиться без захвата движений и работать так, чтобы ее можно было применить к любому персонажу.
  • Процедурно генерируемые анимации должны быть комплексными. Персонаж не просто двигает губами в такт словам: меняются выражения лица, он моргает, проявляет эмоции.

Как работает система

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

Как сделаны правдоподобные детали

  • Моменты для моргания система выбирает автоматически. Для этого используются три параметра: во-первых, анализируется звуковая дорожка; во-вторых, проводится лексический анализ текста; наконец, учитывается время, прошедшее с последнего моргания.
  • Правдоподобные микродвижения глаз тоже генерируются автоматически. Для этого разработчики создали статистическую модель, работающую в паре с другими игровыми системами. Например, если персонажу почему-то нужно смотреть в определенную точку, микродвижения не будут уводить его взгляд в сторону.
  • Зрачки персонажей сужаются и расширяются в зависимости от интенсивности освещения. При моргании глаза на миг оказываются в темноте — и зрачки тоже немного расширяются.
  • Чтобы управлять движением бровей, генератор анализирует эмоции, которые испытывает персонаж. Для этого анализируется звуковая дорожка; кроме того, для каждого NPC сгенерирован специальный профайл, описывающий его стиль речи.
  • Экспрессивность и эмоциональность отыгрыша той или иной фразы можно менять вручную. Для этого сделаны специальные теги, позволяющие указывать эмоциональность в процентах: например, 50% радости или 20% страха. Выставлять больше 100% тоже можно.
  • Помимо собственно анимаций технология генерирует микродвижения лицевых мышц и управляет поворотами шеи: ее движения тоже добавляют реалистичности. Шея движется не очень интенсивно — иначе это выглядело бы неестественно.

Как генерируются анимации для разных языков

  • Технология может генерировать анимации для десяти языков, включая русский.
  • Для адаптации мимики под конкретный язык используется акустическая модель, специальный словарь произношения слов и модель, умеющая преобразовывать графемы в фонемы.
  • Преобразование графем в фонемы понадобилось для корректной обработки слов, отсутствующих в словарях. Благодаря этому система может генерировать достоверно выглядящие анимации для незнакомых слов. Сама модель работает очень точно; это важно для языков, похожих на японский.
  • Акустическая модель предсказывает, какие фонемы будет произносить персонаж; для этого анализируется текст диалога и сама озвучка.
  • Модели обучались на обширных выборках данных: сотни часов озвучки и соответствующих текстов для каждого из поддерживаемых языков.
  • Отыгрыш эмоций может сильно варьироваться в зависимости от языка. Например, в японской озвучке персонажи не будут играть бровями так же активно, как в английской — потому что реальные японцы так не делают.
Теги: Cyberpunk 2077, Игры, Технологии
Evernews
7879 подписчиков
Программист из России три года делает для GTA San Andreas новую графику с трассировкой