Перейти к основному содержимому

Как использовать плагин

Это руководство проведёт вас через процесс настройки Runtime MetaHuman Lip Sync для ваших персонажей MetaHuman.

Примечание: Runtime MetaHuman Lip Sync работает как с MetaHuman, так и с пользовательскими персонажами. Плагин поддерживает различные типы персонажей, включая:

  • Популярных коммерческих персонажей (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe и др.)
  • Персонажей с FACS-based блендшейпами
  • Модели, использующие стандарты блендшейпов ARKit
  • Персонажей с наборами фонем Preston Blair
  • Системы фонем 3ds Max
  • Любых персонажей с пользовательскими морф-таргетами для мимики

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

Требования

Перед началом убедитесь, что:

  1. Плагин MetaHuman включён в вашем проекте
  2. У вас есть хотя бы один персонаж MetaHuman, загруженный и доступный в проекте
  3. Установлен плагин Runtime MetaHuman Lip Sync

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

  • Если вы планируете использовать захват аудио (например, ввод с микрофона), установите плагин Runtime Audio Importer.
  • Если вы планируете использовать функционал текст-в-речь, установите плагин Runtime Text To Speech.

Платформо-специфичная конфигурация

Конфигурация для Android / Meta Quest

Если вы работаете с платформами Android или Meta Quest и сталкиваетесь с ошибками сборки при использовании этого плагина, вам необходимо отключить архитектуру x86_64 (x64) для Android в настройках проекта:

  1. Перейдите в Edit > Project Settings
  2. Откройте раздел Platforms > Android
  3. В секции Platforms - Android, раздел Build, найдите Support x86_64 [aka x64] и убедитесь, что он отключён, как показано ниже

Отключение архитектуры x64 для Android

Это связано с тем, что плагин в настоящее время поддерживает только архитектуры arm64-v8a и armeabi-v7a для платформ Android / Meta Quest.

Процесс настройки

Шаг 1: Найдите и измените Blueprint анимации лица

Вам необходимо модифицировать Animation Blueprint, который будет использоваться для мимики вашего персонажа MetaHuman. Стандартный Animation Blueprint для лица MetaHuman находится по пути:

Content/MetaHumans/Common/Face/Face_AnimBP

Face Animation Blueprint

У вас есть несколько вариантов реализации функции синхронизации губ:

Откройте стандартный Face_AnimBP напрямую и внесите изменения. Любые модификации повлияют на всех персонажей MetaHuman, использующих этот Animation Blueprint.

Примечание: Этот подход удобен, но затронет всех персонажей, использующих стандартный Animation Blueprint.

Важно: Смешивание Runtime MetaHuman Lip Sync может быть реализовано в любом ассете Animation Blueprint, имеющем доступ к позе, содержащей лицевые кости из стандартного Face_Archetype_Skeleton MetaHuman. Вы не ограничены приведенными выше вариантами - это просто распространенные подходы к реализации.

Шаг 2: Настройка Event Graph

Откройте ваш Face Animation Blueprint и переключитесь на Event Graph. Вам нужно создать Runtime Viseme Generator, который будет обрабатывать аудиоданные и генерировать виземы.

  1. Добавьте ноду Event Blueprint Begin Play, если она еще не существует
  2. Добавьте ноду Create Runtime Viseme Generator и подключите ее к событию Begin Play
  3. Сохраните вывод в переменную (например, "VisemeGenerator") для использования в других частях графа

Creating Runtime Viseme Generator

Шаг 3: Настройка обработки аудиовхода

Вам нужно настроить метод обработки аудиовхода. Есть несколько способов сделать это в зависимости от источника аудио.

Этот подход выполняет синхронизацию губ в реальном времени при разговоре в микрофон:

  1. Создайте Capturable Sound Wave используя Runtime Audio Importer
  2. Перед началом захвата аудио, привяжитесь к делегату OnPopulateAudioData
  3. В привязанной функции вызовите ProcessAudioData из вашего Runtime Viseme Generator
  4. Начните захват аудио с микрофона

Копируемые ноды.

Lip Sync During Audio Capture

Шаг 4: Настройка Anim Graph

После настройки Event Graph переключитесь на Anim Graph, чтобы подключить генератор визем к анимации персонажа:

Синхронизация губ

  1. Найдите позу, содержащую лицо MetaHuman (обычно из Use cached pose 'Body Pose')
  2. Добавьте ноду Blend Runtime MetaHuman Lip Sync
  3. Подключите позу к Source Pose ноды Blend Runtime MetaHuman Lip Sync
  4. Подключите вашу переменную RuntimeVisemeGenerator к пину Viseme Generator
  5. Подключите вывод ноды Blend Runtime MetaHuman Lip Sync к пину Result ноды Output Pose

Blend Runtime MetaHuman Lip Sync

Когда в аудио будет обнаружена синхронизация губ, ваш персонаж будет динамически анимироваться соответствующим образом:

Lip Sync

Анимация смеха

Вы также можете