Конфигурация плагина
Конфигурация модели
Стандартная конфигурация модели
Узел Create Runtime Viseme Generator использует настройки по умолчанию, которые хорошо работают в большинстве сценариев. Конфигурация обрабатывается через свойства узла смешивания Animation Blueprint.
Для параметров конфигурации Animation Blueprint см. раздел Конфигурация Lip Sync ниже.
Конфигурация реалистичной модели
Узел Create Realistic MetaHuman Lip Sync Generator принимает необязательный параметр Configuration, который позволяет настраивать поведение генератора:
Тип модели
Настройка Model Type определяет, какую версию реалистичной модели использовать:
| Тип модели | Производительность | Визуальное качество | Обработка шума | Рекомендуемые случаи использования |
|---|---|---|---|---|
| Высокооптимизированная (По умолчанию) | Наивысшая производительность, наименьшее использование ЦП | Хорошее качество | Может показывать заметные движения рта при фоновом шуме или неголосовых звуках | Чистые аудиоокружения, сценарии, критичные к производительности |
| Полуоптимизированная | Хорошая производительность, умеренное использование ЦП | Высокое качество | Лучшая стабильность с шумным аудио | Сбалансированная производительность и качество, смешанные аудиоусловия |
| Оригинальная | Подходит для использования в реальном времени на современных ЦП | Наивысшее качество | Наиболее стабильная с фоновым шумом и неголосовыми звуками | Высококачественные постановки, шумные аудиоокружения, когда требуется максимальная точность |
Настройки производительности
Intra Op Threads: Управляет количеством потоков, используемых для внутренних операций обработки модели.
- 0 (По умолчанию/Автоматически): Использует автоматическое обнаружение (обычно 1/4 доступных ядер ЦП, максимум 4)
- 1-16: Указать количество потоков вручную. Более высокие значения могут улучшить производительность на многопроцессорных системах, но используют больше ЦП
Inter Op Threads: Управляет количеством потоков, используемых для параллельного выполнения различных операций модели.
- 0 (По умолчанию/Автоматически): Использует автоматическое обнаружение (обычно 1/8 доступных ядер ЦП, максимум 2)
- 1-8: Указать количество потоков вручную. Обычно сохраняется низким для обработки в реальном времени
Размер чанка обработки
Processing Chunk Size определяет, сколько сэмплов обрабатывается на каждом шаге вывода. Значение по умолчанию — 160 сэмплов (10 мс аудио при 16 кГц):
- Меньшие значения обеспечивают более частые обновления, но увеличивают использование ЦП
- Большие значения снижают нагрузку на ЦП, но могут уменьшить отзывчивость синхронизации губ
- Рекомендуется использовать кратные 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 Intensity: Определяет, насколько сильно настроение влияет на анимацию (от 0.0 до 1.0)
Управление Настроением во Время Выполнения
Вы можете настраивать параметры настроения во время выполнения с помощью следующих функций:
- Set Mood: Изменить текущий тип настроения
- Set Mood Intensity: Настроить, насколько сильно настроение влияет на анимацию (от 0.0 до 1.0)
- Set Lookahead Ms: Изменить время упреждения для синхронизации
- Set Output Type: Переключиться между контролами Full Face и Mouth Only

Руководство по Выбору Настроения
Выбирайте подходящие настроения в зависимости от вашего контента:
| Настроение | Лучше всего подходит для | Типичный диапазон интенсивности |
|---|---|---|
| Нейтральное | Общая беседа, повествование, состояние по умолчанию | 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
Конфигурация Синхронизации Губ
- Standard Model
- Realistic Models
Узел Blend Runtime MetaHuman Lip Sync имеет параметры конфигурации на панели свойств:
| Свойство | По умолчанию | Описание |
|---|---|---|
| Interpolation Speed | 25 | Управляет скоростью перехода движений губ между висемами. Более высокие значения приводят к более быстрым и резким переходам. |
| Reset Time | 0.2 | Продолжительность в секундах, после которой синхронизация губ сбрасывается. Это полезно для предотвращения продолжения синхронизации губ после остановки аудио. |
Анимация смеха
Вы также можете добавить анимации смеха, которые будут динамически реагировать на смех, обнаруженный в аудио:
- Добавьте узел
Blend Runtime MetaHuman Laughter - Подключите вашу переменную
RuntimeVisemeGeneratorк контактуViseme Generator - Если вы уже используете синхронизацию губ:
- Подключите выход из узла
Blend Runtime MetaHuman Lip Syncк контактуSource PoseузлаBlend Runtime MetaHuman Laughter - Подключите выход узла
Blend Runtime MetaHuman Laughterк контактуResultузлаOutput Pose
- Подключите выход из узла
- Если используется только смех без синхронизации губ:
- Подключите вашу исходную позу напрямую к контакту
Source PoseузлаBlend Runtime MetaHuman Laughter - Подключите выход к контакту
Result
- Подключите вашу исходную позу напрямую к контакту

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

Конфигурация смеха
Узел Blend Runtime MetaHuman Laughter имеет свои собственные параметры конфигурации:
| Свойство | По умолчанию | Описание |
|---|---|---|
| Interpolation Speed | 25 | Управляет скоростью перехода движений губ между анимациями смеха. Более высокие значения приводят к более быстрым и резким переходам. |
| Reset Time | 0.2 | Продолжительность в секундах, после которой смех сбрасывается. Это полезно для предотвращения продолжения смеха после остановки аудио. |
| Max Laughter Weight | 0.7 | Масштабирует максимальную интенсивность анимации смеха (0.0 - 1.0). |
Примечание: Обнаружение смеха в настоящее время доступно только в Standard Model.
Узел Blend Realistic MetaHuman Lip Sync имеет параметры конфигурации на панели свойств:
| Свойство | По умолчанию | Описание |
|---|---|---|
| Interpolation Speed | 30 | Управляет скоростью перехода мимических выражений во время активной речи. Более высокие значения приводят к более быстрым и резким переходам. |
| Idle Interpolation Speed | 15 | Управляет скоростью перехода мимических выражений обратно в состояние покоя/нейтральное состояние. Более низкие значения создают более плавные и постепенные возвраты к позе покоя. |
| Reset Time | 0.2 | Продолжительность в секундах, после которой синхронизация губ сбрасывается в состояние покоя |
| . Полезно для предотвращения продолжения выражений после остановки аудио. | ||
| Сохранять состояние покоя | false | При включении сохраняет последнее эмоциональное состояние в периоды простоя вместо сброса к нейтральному. |
| Сохранять выражения глаз | true | Определяет, сохраняются ли элементы управления лицом, связанные с глазами, в состоянии покоя. Эффективно только при включенной опции "Сохранять состояние покоя". |
| Сохранять выражения бровей | true | Определяет, сохраняются ли элементы управления лицом, связанные с бровями, в состоянии покоя. Эффективно только при включенной опции "Сохранять состояние покоя". |
| Сохранять форму рта | false | Определяет, сохраняются ли элементы управления формой рта (за исключением специфических для речи движений, таких как язык и челюсть) в состоянии покоя. Эффективно только при включенной опции "Сохранять состояние покоя". |
Сохранение состояния покоя
Функция Сохранять состояние покоя определяет, как модель Realistic обрабатывает периоды тишины. В отличие от модели Standard, которая использует дискретные висемы и последовательно возвращается к нулевым значениям во время тишины, нейронная сеть модели Realistic может сохранять тонкое позиционирование лица, отличающееся от позы покоя MetaHuman по умолчанию.
Когда включать:
- Для поддержания эмоциональных выражений между сегментами речи
- Для сохранения черт личности персонажа
- Для обеспечения визуальной непрерывности в кинематографических сценах
Опции регионального контроля:
- Выражения глаз: Сохраняет прищуривание, расширение глаз и позиционирование век
- Выражения бровей: Сохраняет позиционирование бровей и лба
- Форма рта: Сохраняет общую кривизну рта, позволяя сбрасывать речевые движения (язык, челюсть)
Комбинирование с существующей анимацией
Чтобы применять синхронизацию губ и смех вместе с существующими анимациями тела и пользовательскими анимациями лица без их перезаписи:
- Добавьте узел
Layered blend per boneмежду вашими анимациями тела и конечным выводом. Убедитесь, чтоUse Attached Parentустановлен в true. - Настройте структуру слоев:
- Добавьте 1 элемент в массив
Layer Setup - Добавьте 3 элемента в
Branch Filtersдля слоя со следующими именамиBone Name:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- Добавьте 1 элемент в массив
- Важно для пользовательских анимаций лица: В
Curve Blend Optionвыберите "Use Max Value". Это позволяет правильно накладывать пользовательские анимации лица (выражения, эмоции и т.д.) поверх синхронизации губ. - Сделайте соединения:
- Существующие анимации (такие как
BodyPose) → входBase Pose - Выход лицевой анимации (из узлов синхронизации губ и/или смеха) → вход
Blend Poses 0 - Узел Layered blend → конечная поза
Result
- Существующие анимации (такие как

Тонкая настройка поведения синхронизации губ
Управление высовыванием языка
В стандартной модели синхронизации губ вы можете заметить чрезмерное движение языка вперед во время определенных фонем. Для контроля выдвижения языка:
- После вашего узла смешивания синхронизации губ добавьте узел
Modify Curve - Щелкните правой кнопкой мыши на узле
Modify Curveи выберите Add Curve Pin - Добавьте контакт кривой с именем
CTRL_expressions_tongueOut - Установите свойство Apply Mode узла в значение Scale
- Отрегулируйте параметр Value, чтобы контролировать выдвижение языка (например, 0.8 для уменьшения выдвижения на 20%)
Управление открытием челюсти
Реалистичная синхронизация губ может создавать чрезмерно отзывчивые движения челюсти в зависимости от вашего аудиоконтента и визуальных требований. Чтобы настроить интенсивность открытия челюсти:
- После вашего узла смешивания синхронизации губ добавьте узел
Modify Curve - Щелкните правой кнопкой мыши на узле
Modify Curveи выберите Add Curve Pin - Добавьте контакт кривой с именем
CTRL_expressions_jawOpen - Установите свойство Apply Mode узла в значение Scale
- Отрегулируйте параметр 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, Quest | Windows, Mac, iOS, Linux | Windows, Mac, iOS, Linux |
| Случаи использования | Общие приложения, игры, VR/AR, мобильные | Кинематографические впечатления, взаимодействия крупным планом | Эмоциональное повествование, продвинутое взаимодействие с персонажами |
Совместимость с версиями движка
Если вы используете 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-сервисы, если вам конкретно нужна обычная реалистичная модель с функциональностью TTS.
Снижение отзывчивости синхронизации губ: Если вы столкнулись с тем, что синхронизация губ со временем становится менее отзывчивой при использовании Streaming Sound Wave или Capturable Sound Wave, это может быть вызвано накоплением памяти. По умолчанию память перераспределяется каждый раз, когда добавляется новый аудио. Чтобы предотвратить эту проблему, периодически вызывайте функцию ReleaseMemory для освобождения накопленной памяти, например, каждые 30 секунд или около того.
Оптимизация производительности:
- Настраивайте размер обрабатываемого чанка для реалистичных моделей в зависимости от ваших требований к производительности
- Используйте подходящее количество потоков для вашего целевого оборудования
- Рассмотрите использование типа вывода "Только Рот" для моделей с настроением, когда полная лицевая анимация не требуется