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

Конфигурация плагина

Конфигурация модели

Стандартная конфигурация модели

Узел Create Runtime Viseme Generator использует настройки по умолчанию, которые хорошо работают в большинстве сценариев. Конфигурация обрабатывается через свойства узла смешивания Animation Blueprint.

Для параметров конфигурации Animation Blueprint см. раздел Конфигурация Lip Sync ниже.

Конфигурация реалистичной модели

Узел Create Realistic MetaHuman Lip Sync Generator принимает необязательный параметр Configuration, который позволяет настраивать поведение генератора:

Тип модели

Настройка Model Type определяет, какую версию реалистичной модели использовать:

Тип моделиПроизводительностьВизуальное качествоОбработка шумаРекомендуемые случаи использования
Высоко оптимизированная (По умолчанию)Наивысшая производительность, наименьшее использование CPUХорошее качествоМожет показывать заметные движения рта при фоновом шуме или не-голосовых звукахЧистые аудио окружения, сценарии, критичные к производительности
Полу-оптимизированнаяХорошая производительность, умеренное использование CPUВысокое качествоЛучшая стабильность с шумным аудиоСбалансированная производительность и качество, смешанные аудио условия
ОригинальнаяПодходит для использования в реальном времени на современных CPUНаивысшее качествоНаиболее стабильная с фоновым шумом и не-голосовыми звукамиВысококачественные постановки, шумные аудио окружения, когда необходима максимальная точность

Настройки производительности

Intra Op Threads: Управляет количеством потоков, используемых для внутренних операций обработки модели.

  • 0 (По умолчанию/Автоматически): Использует автоматическое определение (обычно 1/4 доступных ядер CPU, максимум 4)
  • 1-16: Указать количество потоков вручную. Более высокие значения могут улучшить производительность на многопроцессорных системах, но используют больше CPU

Inter Op Threads: Управляет количеством потоков, используемых для параллельного выполнения различных операций модели.

  • 0 (По умолчанию/Автоматически): Использует автоматическое определение (обычно 1/8 доступных ядер CPU, максимум 2)
  • 1-8: Указать количество потоков вручную. Обычно держится на низком уровне для обработки в реальном времени

Размер чанка обработки

Processing Chunk Size определяет, сколько сэмплов обрабатывается на каждом шаге вывода. Значение по умолчанию — 160 сэмплов (10мс аудио при 16кГц):

  • Меньшие значения обеспечивают более частые обновления, но увеличивают использование CPU
  • Большие значения снижают нагрузку на CPU, но могут уменьшить отзывчивость lip sync
  • Рекомендуется использовать кратные 160 для оптимального выравнивания

Установка размера чанка обрабо�тки

Конфигурация модели с поддержкой настроения

Узел Create Realistic MetaHuman Lip Sync With Mood Generator предоставляет дополнительные параметры конфигурации помимо базовой реалистичной модели:

Базовая конфигурация

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

  • По умолчанию: 80 мс
  • Диапазон: от 20 мс до 200 мс (должно быть кратно 20)
  • Более высокие значения обеспечивают лучшую синхронизацию, но увеличивают задержку

Output Type: Определяет, какие элементы управления лицевой анимацией генерируются.

  • Full Face: Все 81 элемент управления (брови, глаза, нос, рот, челюсть, язык)
  • Mouth Only: Только элементы управления, связанные со ртом, челюстью и языком

Performance Settings: Использует те же настройки Intra Op Threads и Inter Op Threads, что и обычная реалистичная модель.

Настройки настроения (Mood)

Доступные настроения:

  • Neutral, Happy, Sad, Disgust, Anger, Surprise, Fear
  • Confident, Excited, Bored, Playful, Confused

Mood Intensity: Определяет, насколько сильно настроение влияет на анимацию (от 0.0 до 1.0)

Управление настроением во время выполнения (Runtime)

Вы можете настраивать параметры настроения во время выполнения с помощью следующих функций:

  • Set Mood: Изменить текущий тип настроения
  • Set Mood Intensity: Настроить силу влияния настроения на анимацию (от 0.0 до 1.0)
  • Set Lookahead Ms: Изменить время упреждения для синхронизации
  • Set Output Type: Переключаться между режимами Full Face и Mouth Only

Mood Configuration

Руководство по выбору настроения

Выбирайте подходящие настроения в зависимости от вашего контента:

НастроениеЛучше всего подходит дляТипичный диапазон интенсивности
NeutralОбычный разговор, повествование, состояние по умолчанию0.5 - 1.0
HappyПозитивный контент, радостные диалоги, празднования0.6 - 1.0
SadМеланхоличный контент, эмоциональные сцены, мрачные моменты0.5 - 0.9
DisgustНегативные реакции, неприятный контент, отторжение0.4 - 0.8
AngerАгрессивные диалоги, конфликтные сцены, разочарование0.6 - 1.0
SurpriseНеожиданные события, откровения, реакции шока0.7 - 1.0
FearУгрожающие ситуации, тревога, нервные диалоги0.5 - 0.9
ConfidentПрофессиональные презентации, лидерские диалоги, уверенная речь0.7 - 1.0
ExcitedЭнергичный контент, объявления, восторженные диалоги0.8 - 1.0
BoredМонотонный контент, безразличные диалоги, уставшая речь0.3 - 0.7
PlayfulНеформальное общение, юмор, легкомысленные взаимодействия0.6 - 0.9
ConfusedДиалоги с множеством вопросов, неуверенность, недоумение0.4 - 0.8

Конфигурация Animation Blueprint

Конфигурация Lip Sync

Узел Blend Runtime MetaHuman Lip Sync имеет параметры конфигурации в панели свойств:

СвойствоПо умолчаниюОписание
Interpolation Speed25Определяет, насколько быстро движения губ переходят между висемами. Более высокие значения приводят к более быстрым и резким переходам.
Reset Time0.2Продолжительность в секундах, после которой синхронизация губ сбрасывается. Это полезно для предотвращения продолжения синхронизации губ после остановки аудио.

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

Вы также можете добавить анимации смеха, которые будут динамически реагировать на смех, обнаруженный в аудио:

  1. Добавьте узел Blend Runtime MetaHuman Laughter
  2. Подключите вашу переменную RuntimeVisemeGenerator к контакту Viseme Generator
  3. Если вы уже используете синхронизацию губ:
    • Подключите выход из узла Blend Runtime MetaHuman Lip Sync к контакту Source Pose узла Blend Runtime MetaHuman Laughter
    • Подключите выход узла Blend Runtime MetaHuman Laughter к контакту Result узла Output Pose
  4. Если используется только смех без синхронизации губ:
    • Подключите вашу исходную позу напрямую к контакту Source Pose узла Blend Runtime MetaHuman Laughter
    • Подключите выход к контакту Result

Blend Runtime MetaHuman Laughter

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

Laughter

Конфигурация смеха

Узел Blend Runtime MetaHuman Laughter имеет собственные параметры конфигурации:

СвойствоПо умолчаниюОписание
Interpolation Speed25Определяет, насколько быстро движения губ переходят между анимациями смеха. Более высокие значения приводят к более быстрым и резким переходам.
Reset Time0.2Продолжительность в секундах, после которой смех сбрасывается. Это полезно для предотвращения продолжения смеха после остановки аудио.
Max Laughter Weight0.7Масштабирует максимальную интенсивность анимации смеха (0.0 - 1.0).
Примечание: Обнаружение смеха в настоящее время доступно только в Стандартной модели.

Комбинирование с существующими анимациями

Чтобы применить Lip Sync и смех вместе с существующими анимациями тела и пользовательскими лицевыми анимациями, не перезаписывая их:

  1. Добавьте узел Layered blend per bone между вашими анимациями тела и финальным выводом. Убедитесь, что Use Attached Parent установлен в true.
  2. Настройте структуру слоев:
    • Добавьте 1 элемент в массив Layer Setup
    • Добавьте 3 элемента в Branch Filters для слоя со следующими именами костей (Bone Name):
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. Важно для пользовательских лицевых анимаций: В Curve Blend Option выберите "Use Max Value". Это позволяет корректно накладывать пользовательские лицевые анимации (выражения, эмоции и т.д.) поверх Lip Sync.
  4. Сделайте соединения:
    • Существующие анимации (например, BodyPose) → вход Base Pose
    • Выход лицевой анимации (из узлов Lip Sync и/или смеха) → вход Blend Poses 0
    • Узел Layered blend per bone → Финальная поза Result

Layered Blend Per Bone

Тонкая настройка поведения Lip Sync

Управление высовыванием языка

В стандартной модели Lip Sync вы можете заметить чрезмерное выдвижение языка вперед во время определенных фонем. Чтобы контролировать это:

  1. После вашего узла смешивания Lip Sync добавьте узел Modify Curve
  2. Щелкните правой кнопкой мыши на узле Modify Curve и выберите Add Curve Pin
  3. Добавьте пин кривой с именем CTRL_expressions_tongueOut
  4. Установите свойство Apply Mode узла в значение Scale
  5. Настройте параметр Value, чтобы контролировать выдвижение языка (например, 0.8 для уменьшения выдвижения на 20%)

Управление открытием челюсти

Реалистичный Lip Sync может создавать чрезмерно активные движения челюсти в зависимости от вашего аудиоконтента и визуальных требований. Чтобы настроить интенсивность открытия челюсти:

  1. После вашего узла смешивания Lip Sync добавьте узел Modify Curve
  2. Щелкните правой кнопкой мыши на узле Modify Curve и выберите Add Curve Pin
  3. Добавьте пин кривой с именем CTRL_expressions_jawOpen
  4. Установите свойство Apply Mode узла в значение Scale
  5. Настройте параметр Value, чтобы контролировать диапазон открытия челюсти (например, 0.9 для уменьшения движения челюсти на 10%)

Тонкая настройка для конкретного настроения

Для моделей с поддержкой настроения вы можете точно настраивать определенные эмоциональные выражения:

Управление бровями:

  • CTRL_L_brow_raiseIn.ty / CTRL_R_brow_raiseIn.ty - Поднятие внутренней части брови
  • CTRL_L_brow_raiseOut.ty / CTRL_R_brow_raiseOut.ty - Поднятие внешней части брови
  • CTRL_L_brow_down.ty / CTRL_R_brow_down.ty - Опускание брови

Управление выражением глаз:

  • CTRL_L_eye_squintInner.ty / CTRL_R_eye_squintInner.ty - Прищуривание глаз
  • CTRL_L_eye_cheekRaise.ty / CTRL_R_eye_cheekRaise.ty - Поднятие щеки

Сравнение моделей и выбор

Выбор между моделями

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

КритерийСтандартная модельРеалистичная модельРеалистичная модель с настроениями
Совместимость с персонажамиMetaHumans и все пользовательские типы персонажейТолько MetaHumansТолько MetaHumans
Визуальное качествоХорошая синхронизация губ с эффективной производительностьюУлучшенный реализм с более естественными движениями ртаУлучшенный реализм с эмоциональными выражениями
ПроизводительностьОптимизирована для всех платформ, включая мобильные/VRБолее высокие требования к ресурсамБолее высокие требования к ресурсам
Функции14 визем, обнаружение смеха81 контроль лица, 3 уровня оптимизации81 контроль лица, 12 настроений, настраиваемый вывод
Поддержка платформWindows, Android, QuestWindows, Mac, iOS, LinuxWindows, Mac, iOS, Linux
Варианты использованияОбщие приложения, игры, VR/AR, мобильныеКинематографические сцены, взаимодействия крупным планомЭмоциональное повествование, продвинутое взаимодействие с персонажами

Совместимость с версиями движка

Проблема совместимости с UE 5.2

Если вы используете Unreal Engine 5.2, Реалистичные модели могут работать некорректно из-за ошибки в библиотеке ресемплинга UE. Пользователям UE 5.2, которым требуется надежная функция синхронизации губ, рекомендуется использовать Стандартную модель.

Эта проблема характерна только для UE 5.2 и не затрагивает другие версии движка.

Рекомендации по производительности

  • Для большинства проектов Стандартная модель обеспечивает отличный баланс качества и производительности
  • Используйте Реалистичную модель, когда вам нужна максимальная визуальная точность для персонажей MetaHuman
  • Используйте Реалистичную модель с настроениями, когда контроль эмоциональных выражений важен для вашего приложения
  • Учитывайте производительность целевой платформы при выборе между моделями
  • Тестируйте разные уровни оптимизации, чтобы найти наилучший баланс для вашего конкретного случая использования

Совместимость с TTS

Тип моделиПоддержка локального TTS (через Runtime Text To Speech)Поддержка внешнего TTSПримечания
Стандартная модель✅ Полная поддержка✅ Полная поддержкаСовместима со всеми вариантами TTS
Реалистичная модель❌ Ограниченная поддержка✅ Полная поддержкаКонфликты среды выполнения ONNX с локальным TTS
Реалистичная модель с настроениями✅ Полная поддержка✅ Полная поддержкаСовместима со всеми вариантами TTS

Устранение неполадок

Распространенные проблемы

Пересоздание генератора для реалистичных моделей: Для надежной и стабильной работы с Реалистичными моделями рекомендуется пересоздавать генератор каждый раз, когда вы хотите передать новые аудиоданные после периода бездействия. Это связано с поведением среды выполнения ONNX, которое может привести к прекращению работы синхронизации губ при повторном использовании генераторов после периодов тишины. Совместимость с локальным TTS: Локальный TTS, предоставляемый плагином Runtime Text To Speech, в настоящее время не поддерживается с обычной моделью Realistic из-за конфликтов рантайма ONNX. Однако он полностью совместим как со Standard моделью, так и с Mood-Enabled Realistic моделью. Используйте внешние TTS сервисы, если вам конкретно нужна обычная модель Realistic с функциональностью TTS.

Оптимизация производительности:

  • Настраивайте размер чанка обработки (Processing Chunk Size) для Realistic моделей в соответствии с вашими требованиями к производительности
  • Используйте подходящее количество потоков (thread counts) для вашего целевого оборудования
  • Рассмотрите использование типа вывода "Только рот" (Mouth Only output type) для mood-включенных моделей, когда полная лицевая анимация не требуется