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

Обзор

Runtime MetaHuman Lip Sync Documentation

Runtime MetaHuman Lip Sync — это плагин, который обеспечивает синхронизацию губ в реальном времени, офлайн и кроссплатформенно как для MetaHuman, так и для пользовательских персонажей. Он позволяет анимировать губы персонажа в ответ на аудиовход из различных источников, включая:

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

Стандартная модель производит 14 висем и выполняет анимацию синхронизации губ с использованием предопределенного ассета поз. В отличие от нее, Реалистичные модели (эксклюзивно для персонажей MetaHuman) генерируют 81 изменение лицевого контроля без использования предопределенного ассета поз, что приводит к значительно более реалистичной лицевой анимации.

Совместимость с персонажами

Несмотря на название, Runtime MetaHuman Lip Sync работает с широким спектром персонажей, а не только с MetaHuman:

Популярные коммерческие системы персонажей

  • Персонажи Daz Genesis 8/9
  • Персонажи Reallusion Character Creator 3/4 (CC3/CC4)
  • Персонажи Mixamo
  • Аватары ReadyPlayerMe

Поддержка стандартов анимации

  • Системы блендшейпов на основе FACS
  • Стандарт блендшейпов Apple ARKit
  • Наборы фонем Preston Blair
  • Фонемные системы 3ds Max
  • Любой персонаж с пользовательскими морф-таргетами для мимики

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

Предпросмотр анимации

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

Реалистичная модель с персонажем MetaHuman
Стандартная модель с персонажем MetaHuman
Стандартная модель с пользовательским персонажем
Стандартная модель с пользовательским персонажем

Ключевые особенности

  • Синхронизация губ в реальном времени с микрофонного ввода
  • Поддержка офлайн-обработки аудио
  • Кроссплатформенная совместимость с поддержкой платформ для конкретных моделей
  • Поддержка нескольких систем персонажей и стандартов анимации
  • Гибкое сопоставление визем для пользовательских персонажей
  • Универсальная поддержка языков — работает с любым разговорным языком через анализ аудио
  • Анимация лица с учетом настроения для большей выразительности
  • Настраиваемые типы вывода (полное лицо или только управление ртом)

Модели синхронизации губ

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

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

  • Работает с MetaHumans и всеми типами пользовательских персонажей
  • Оптимизирована для работы в реальном времени
  • Более низкие требования к ресурсам
  • Поддержка платформ: Windows, Android, платформы на базе Android (включая Meta Quest)
Требуется расширение

Для использования Standard Model необходимо установить дополнительный плагин-расширение. См. раздел Предварительные требования для получения инструкций по установке.

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

Как это работает

Плагин обрабатывает аудиовход следующим образом:

  1. Аудиоданные принимаются в формате PCM с плавающей запятой с указанными каналами и частотой дискретизации
  2. Плагин обрабатывает аудио для генерации данных лицевого управления или визем в зависимости от модели
  3. Для моделей с поддержкой настроения эмоциональный контекст применяется к лицевой анимации
  4. Данные анимации управляют движениями лица персонажа в реальном времени

Архитектура производительности

Runtime MetaHuman Lip Sync использует только CPU-инференс для обеспечения стабильных результатов синхронизации губ с низкой задержкой, подходящих для приложений реального времени. По умолчанию плагин выполняет обработку синхронизации губ каждые 10 миллисекунд (настраивается — см. Конфигурация плагина для всех доступных настроек, включая Размер чанка обработки, количество потоков и другие параметры производительности).

Обзор архитектуры модели

Модели синхронизации губ используют компактную нейронную сеть на основе трансформера, которая обрабатывает аудио через анализ мел-спектрограмм. Эта легковесная архитектура специально разработана для работы в реальном времени с эффективным CPU-инференсом и минимальным объемом памяти.

Почему CPU-инференс?

Для небольших, частых операций инференса, таких как синхронизация губ в реальном времени, обработка на CPU обеспечивает лучшие характеристики задержки, чем GPU. При размере пакета 1 и интервалах инференса 10–100 мс накладные расходы GPU от передачи по PCIe и запуска ядер часто превышают фактическое время вычислений. Кроме того, в игровых движках GPU уже загружен рендерингом, шейдерами и физикой, что создает конкуренцию за ресурсы и приводит к непредсказуемым скачкам задержки.

Совместимость с оборудованием

Плагин эффективно работает на большинстве CPU среднего и высокого уровня, не требуя выделенного графического оборудования, обеспечивая производительность в реальном времени на настольных, мобильных и VR-платформах. Для более слабого оборудования вы можете изменить Тип модели на Semi-Optimized или Highly Optimized или увеличить Размер чанка обработки, чтобы сохранить производительность в реальном времени с немного сниженной отзывчивостью.

Быстрый старт

Вот базовая настройка для включения синхронизации губ на вашем персонаже:

  1. Для персонажей MetaHuman следуйте Руководству по настройке
  2. Для пользовательских персонажей следуйте Руководству по настройке пользовательского персонажа
  3. Выберите и настройте предпочитаемую модель синхронизации губ
  4. Настройте обработку аудиоввода в вашем Blueprint
  5. Подключите соответствующий узел синхронизации губ в Animation Blueprint
  6. Воспроизводите аудио и наблюдайте, как ваш персонаж говорит с эмоциями!

Дополнительные ресурсы

📦 Загрузки и ссылки

Демо-проекты:

🎥 Видеоуроки

Избранные демо:

Уроки по Realistic Model (Высокое качество):

Уроки по Standard Model:

Общая настройка:

💬 Поддержка

  • Кастомная разработка: [email protected] (индивидуальные решения для команд и организаций)
Join our Discord
online · support