Конфигурация плагина
Конфигурация модели
Стандартная конфигурация модели
Узел 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)
- Более высокие значения обеспечивают лучшую синхронизацию, но увеличивают задержку
Output Type: Управляет тем, какие лицевые контролы генерируются.
- Full Face: Все 81 лицевых контролов (брови, глаза, нос, рот, челюсть, язык)
- Mouth Only: Только контролы, связанные с ртом, челюстью и языком
Performance Settings: Использует те же настройки Intra Op Threads и Inter Op Threads, что и обычная реалистичная модель.
Настройки настроения
Доступные настроения:
- Neutral, Happy, Sad, Disgust, Anger, Surprise, Fear
- Confident, Excited, Bored, Playful, Confused
Интенсивность настроения: Управляет тем, насколько сильно настроение влияет на анимацию (от 0.0 до 1.0)
Управление настроением во время выполнения
Вы можете настраивать параметры настроения во время выполнения с помощью следующих функций:
- Set Mood: Изменить текущий тип настроения
- Set Mood Intensity: Настроить, насколько сильно настроение влияет на анимацию (от 0.0 до 1.0)
- Set Lookahead Ms: Изменить время упреждения для синхронизации
- Set Output Type: Переключиться между контролами Full Face и Mouth Only

Руководство по выбору настроения
Выбирайте подходящие настроения в зависимости от вашего контента:
| Настроение | Лучше всего подходит для | Типичный диапазон интенсивности |
|---|---|---|
| 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
Конфигурация синхронизации губ
- 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к пинуResultOutput 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 | Продолжительность в секундах, после которой синхронизация губ сбрасывается в состояние покоя. Полезно, чтобы предотвратить продолжение выражений после остановки аудио. |
| Preserve Idle State | false | При включении сохраняет последнее эмоциональное состояние в периоды покоя вместо сброса к нейтральному. |
| Preserve Eye Expressions | true | Управляет тем, сохраняются ли лицевые контролы, связанные с глазами, в состоянии покоя. Эффективно только при включенном Preserve Idle State. |
| Preserve Brow Expressions | true | Управляет тем, сохраняются ли лицевые контролы, связанные с бровями, в состоянии покоя. Эффективно только при включенном Preserve Idle State. |
| Preserve Mouth Shape | false | Управляет тем, сохраняются ли контролы формы рта (за исключением специфических для речи движений, таких как язык и челюсть) в состоянии покоя. Эффективно только при включенном Preserve Idle State. |
Сохранение состояния покоя
Функция Preserve Idle State решает вопрос о том, как Realistic model обрабатывает периоды тишины. В отличие от Standard model, которая использует дискретные висемы и последовательно возвращается к нулевым значениям во время тишины, нейронная сеть Realistic model может поддерживать тонкое позиционирование лица, которое отличается от позы покоя MetaHuman по умолчанию.
Когда включать:
- Поддержание эмоциональных выражений между сегментами речи
- Сохранение черт личности персонажа
- Обеспечение визуальной непрерывности в кинематографических последовательностях
Опции регионального контроля:
- Eye Expressions: Сохраняет прищуривание глаз, расширение и позиционирование век
- Brow Expressions: Сохраняет позиционирование бровей и лба
- Mouth Shape: Сохраняет общую кривизну рта, позволяя речевым движениям (язык, челюсть) сбрасываться
Комбинирование с существующими анимациями
Чтобы применять синхронизацию губ и смех вместе с существующими анимациями тела и пользовательскими мимическими анимациями без их переопределения:
- Добавьте узел
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
- Существующие анимации (такие как

Выбор набора морф-таргетов
- Standard Model
- Realistic Models
Standard Model использует ассеты поз, которые по своей природе поддерживают любое соглашение об именовании морф-таргетов через настройку пользовательского ассета поз. Дополнительная конфигурация не требуется.
Узел Blend Realistic MetaHuman Lip Sync включает свойство Morph Target Set, которое определяет, какое соглашение об именовании морф-таргетов использовать для мимической анимации:
| Набор морф-таргетов | Описание | Случаи использования |
|---|---|---|
| MetaHuman (По умолчанию) | Стандартные имена морф-таргетов MetaHuman (например, CTRL_expressions_jawOpen) | Персонажи MetaHuman |
| ARKit | Совместимые с Apple ARKit имена (например, JawOpen, MouthSmileLeft) | Персонажи на основе ARKit |
Тонкая настройка поведения синхронизации губ
Управление высовыванием языка
В стандартной модели синхронизации губ вы можете заметить чрезмерное выдвижение языка вперед во время определенных фонем. Чтобы контролировать высовывание языка:
- После вашего узла смешивания синхронизации губ добавьте узел
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- Поднятие щеки
Сравнение моделей и выбор
Выбор между моделями
При решении, какую модель синхронизации губ использовать для вашего проекта, учитывайте эти факторы:
| Критерий | Standard Model | Realistic Model | Mood-Enabled Realistic Model |
|---|---|---|---|
| Совместимость с персонажами | MetaHumans и все типы пользовательских персонажей | Персонажи MetaHumans (и ARKit) | Персонажи MetaHumans (и ARKit) |
| Визуальное качество | Хорошая синхронизация губ с эффективной производительностью | Улучшенный реализм с более естественными движениями рта | Улучшенный реализм с эмоциональными выражениями |
| Производительность | Оптимизирована для всех платформ, включая мобильные/VR | Более высокие требования к ресурсам | Более высокие требования к ресурсам |
| Функции | 14 висем, обнаружение смеха | 81 лицевых контролов, 3 уровня оптимизации | 81 лицевых контролов, 12 настроений, настраиваемый вывод |
| Поддержка платформ | Windows, Android, Quest | Windows, Mac, iOS, Linux, Android, Quest | Windows, Mac, iOS, Linux, Android, Quest |
| Случаи использования | Общие приложения, игры, VR/AR, мобильные | Кинематографические впечатления, взаимодействия крупным планом | Эмоциональное повествование, продвинутое взаимодействие с персонажами |
Совместимость с версиями движка
Если вы используете Unreal Engine 5.2, Realistic Models могут работать некорректно из-за ошибки в библиотеке ресемплинга UE. Для пользователей UE 5.2, которым требуется надежная функциональность синхронизации губ, пожалуйста, используйте Standard Model.
Эта проблема специфична для UE 5.2 и не затрагивает другие версии движка.
Рекомендации по производительности
- Для большинства проектов Standard Model обеспечивает отличный баланс качества и производительности
- Используйте Realistic Model, когда вам нужна наивысшая визуальная точность для персонажей MetaHuman
- Используйте Mood-Enabled Realistic Model, когда контроль эмоционального выражения важен для вашего приложения
- Учитывайте возможности производительности целевой платформы при выборе между моделями
- Тестируйте разные уровни оптимизации, чтобы найти лучший баланс для вашего конкретного случая использования
Совместимость с TTS
| Тип модели | Поддержка локального TTS (через Runtime Text To Speech) | Поддержка внешнего TTS | Примечания |
|---|---|---|---|
| Standard Model | ✅ Полная поддержка | ✅ Полная поддержка | Совместима со всеми опциями TTS |
| Realistic Model | ❌ Ограниченная поддержка | ✅ Полная поддержка | Конфликты среды выполнения ONNX с локальным TTS |
| Mood-Enabled Realistic Model | ✅ Полная поддержка | ✅ Полная поддержка | Совместима со всеми опциями TTS |
Устранение неполадок
Распространенные проблемы
Пересоздание генератора для Realistic Models: Для надежной и последовательной работы с Realistic Models рекомендуется пересоздавать генератор каждый раз, когда вы хотите подать новые аудиоданные после периода бездействия. Это связано с поведением среды выполнения ONNX, которое может привести к прекращению работы синхронизации губ при повторном использовании генераторов после периодов тишины.
Например, вы можете пересоздавать генератор синхронизации губ при каждом запуске воспроизведения, например, всякий раз, когда вы вызываете Play Sound 2D или используете любой другой метод для запуска воспроизведения звуковой волны и синхронизации губ:

Совместимость с локальным TTS: Локальный TTS, предоставляемый плагином Runtime Text To Speech, в настоящее время не поддерживается с обычной Realistic model из-за конфликтов среды выполнения ONNX. Однако он полностью совместим как со Standard model, так и с Mood-Enabled Realistic model. Используйте внешние TTS-сервисы, если вам конкретно нужна обычная Realistic model с функциональностью TTS.
Ухудшение отзывчивости синхронизации губ: Если вы столкнулись с тем, что синхронизация губ становится менее отзывчивой со временем при использовании Streaming Sound Wave или Capturable Sound Wave, это может быть вызвано накоплением памяти. По умолчанию память перераспределяется каждый раз, когда добавляется новое аудио. Чтобы предотвратить эту проблему, периодически вызывайте функцию ReleaseMemory, чтобы освободить накопленную память, например, каждые 30 секунд или около того.
Оптимизация производительности:
- Настраивайте Processing Chunk Size для Realistic models в зависимости от ваших требований к производительности
- Используйте соответствующие количества потоков для вашего целевого оборудования
- Рассмотрите использование типа вывода Mouth Only для моделей с поддержкой настроения, когда полная мимическая анимация не нужна