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

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

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

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

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

Для опций конфигурации Animation Blueprint см. раздел Конфигурация синхронизации губ ниже.

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

Узел 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, но могут уменьшить отзывчивость синхронизации губ
  • Рекомендуется использовать кратные 160 для оптимального выравнивания

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

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

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

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

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

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

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

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

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

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

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

  • Нейтральное, Радость, Грусть, Отвращение, Злость, Удивление, Страх
  • Уверенность, Волнение, Скука, Игривость, Растерянность

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

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

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

  • Установить настроение: Изменить текущий тип настроения
  • Установить интенсивность настроения: Настроить, насколько сильно настроение влияет на анимацию (от 0.0 до 1.0)
  • Установить Lookahead Ms: Изменить время упреждения для синхронизации
  • Установить тип вывода: Переключаться между элементами управления "Полное лицо" и "Только рот"

Конфигурация настроения во время выполнения

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

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

НастроениеЛучше всего подходит дляТипичный диапазон интенсивности
НейтральноеОбщая беседа, повествование, состояние по умолчанию0.5 - 1.0
РадостьПозитивный контент, радостные диалоги, празднования0.6 - 1.0
ГрустьМеланхоличный контент, эмоциональные сцены, мрачные моменты0.5 - 0.9
ОтвращениеНегативные реакции, неприятный контент, отвержение0.4 - 0.8
ЗлостьАгрессивные диалоги, конфронтационные сцены, разочарование0.6 - 1.0
УдивлениеНеожиданные события, откровения, реакции шока0.7 - 1.0
СтрахУгрожающие ситуации, тревога, нервные диалоги0.5 - 0.9
УверенностьПрофессиональные презентации, лидерские диалоги, уверенная речь0.7 - 1.0
ВолнениеЭнергичный контент, объявления, восторженные диалоги0.8 - 1.0
СкукаМонотонный контент, безразличные диалоги, уставшая речь0.3 - 0.7
ИгривостьНеформальная беседа, юмор, легкие взаимодействия0.6 - 0.9
РастерянностьДиалоги с большим количеством вопросов, неопределенность, недоумение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).

Примечание: Обнаружение смеха в настоящее время доступно только со Стандартной Моделью.

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

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

  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". Это позволяет правильно наслаивать пользовательские анимации лица (выражения, эмоции и т.д.) поверх липсинка.
  4. Сделайте подключения:
    • Существующие анимации (такие как BodyPose) → вход Base Pose
    • Выход лицевой анимации (от нод липсинка и/или смеха) → вход Blend Poses 0
    • Нода слоевого смешивания → Финальная поза Result

Layered Blend Per Bone

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

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

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

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

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

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

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

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

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

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

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - Поднятие внутренней части брови
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - Поднятие внешней части брови
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - Опускание брови

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

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - Прищуривание глаз
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - Поднятие щеки

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

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

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

КритерийСтандартная модельРеалистичная модельРеалистичная модель с поддержкой настроения
Совместимость с персонажами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, в настоящее время не поддерживается обычной реалистичной моделью из-за конфликтов со средой выполнения ONNX. Однако он полностью совместим как со стандартной моделью, так и с реалистичной моделью с настроением. Используйте внешние TTS-сервисы, если вам specifically нужна обычная реалистичная модель с функциональностью TTS.

Снижение отзывчивости синхронизации губ: Если вы столкнулись с тем, что синхронизация губ со временем становится менее отзывчивой при использовании Streaming Sound Wave или Capturable Sound Wave, это может быть вызвано накоплением памяти. По умолчанию память перераспределяется каждый раз, когда добавляется новый аудио. Чтобы предотвратить эту проблему, периодически вызывайте функцию ReleaseMemory для освобождения накопленной памяти, например, каждые 30 секунд или около того.

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

  • Настраивайте размер обрабатываемого чанка для реалистичных моделей в соответствии с вашими требованиями к производительности
  • Используйте подходящее количество потоков для вашего целевого оборудования
  • Рассмотрите возможность использования типа вывода "Только Рот" для моделей с настроением, когда полная лицевая анимация не требуется