Демонстрационные проекты
Чтобы помочь вам быстро начать работу с Runtime MetaHuman Lip Sync, доступны два готовых к использованию демонстрационных проекта. Оба созданы на Unreal Engine 5.6+, являются Blueprint-only и работают кросс-платформенно на Windows, Mac, Linux, iOS, Android и платформах на базе Android (включая Meta Quest).
Доступные демо-проекты
- Разговорный NPC с ИИ / Интерактивный аватар
- Базовое демо Lip Sync
Полный рабочий процесс разговорного AI-аватара, объединяющий распознавание речи, AI-чат-бота (LLM), синтез речи и воспроизведение аудио с синхронизацией губ в реальном времени — все работает вместе в одном проекте. Подходит для широкого круга сценариев использования, включая игры, интерактивные киоски, виртуальное производство, музейные инсталляции, цифровые ассистенты и тренировочные симуляции.
Обзор пайплайна
🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback
Когда LLM переведён в потоковый режим, его вывод разбивается на предложения и отправляется в TTS по мере завершения каждого из них, а не после получения полного ответа, чтобы минимизировать задержку.
Видео
Быстрый просмотр (~30 сек)
Краткий показ демо в действии.
Полное прохождение
Подробное пошаговое руководство, охватывающее установку, настройку и полный диалоговый конвейер.
Загрузки
Обязательные и необязательные плагины
Демонстрационный проект модульный — вам нужны только плагины для тех провайдеров, которые вы хотите использовать.
| Плагин | Цель | Обязательно? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Липсинк-анимация | ✅ Всегда |
| Runtime Audio Importer | Захват и обработка аудио | ✅ Всегда |
| Runtime Speech Recognizer | Офлайн-распознавание речи (whisper.cpp) | ✅ Всегда |
| Runtime AI Chatbot Integrator | Внешние LLMs (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) и/или Внешние TTS (OpenAI, ElevenLabs) | 🔶 Необязательно |
| Runtime Local LLM | Локальный инференс LLM через llama.cpp (Llama, Mistral, Gemma и т.д., модели GGUF) | 🔶 Необязательно |
| Синтез речи в рантайме | Локальный TTS через Piper и Kokoro | 🔶 Необязательно |
Хотя каждый плагин выше является опциональным, для работы демо вам понадобится хотя бы один LLM-провайдер и хотя бы один TTS-провайдер. Свободно комбинируйте (например, локальный LLM + ElevenLabs TTS, или OpenAI LLM + локальный TTS).
Модульная архитектура
В папке Content вы найдете папку Modules, которая содержит три подпапки:
Content/
└── Modules/
├── RuntimeAIChatbotIntegrator/ ← External LLMs and/or external TTS
├── RuntimeLocalLLM/ ← Local LLM via llama.cpp
└── RuntimeTextToSpeech/ ← Local TTS via Piper/Kokoro
Если вы не приобрели один (или несколько) дополнительных плагинов, просто удалите соответствующие папки. Базовые ассеты демо-проекта (экземпляр игры, виджеты и т.д.) не ссылаются напрямую на эти модули, поэтому их удаление не вызовет ошибок ссылок на ассеты. Конфигурационный интерфейс автоматически скроет любого провайдера, папка которого отсутствует.
Эта модульность применима только к провайдерам LLM и TTS. Распознавание речи (Runtime Speech Recognizer) и Синхронизация губ (Runtime MetaHuman Lip Sync) являются частью базового демо-проекта и всегда требуются.

При первом запуске Unreal может спросить, следует ли отключить отсутствующие необязательные плагины — нажмите Да. Убедитесь, что вы также удалили соответствующую папку Content/Modules/ (см. выше).
Встроенные плагины расширения
Silero VAD, WebRTC AEC3 и стандартные расширения Lip Sync (нажмите, чтобы развернуть)
Исходная версия демо-проекта поставляется с тремя бесплатными дополнительными плагинами, предустановленными в его папке Plugins/: RuntimeAudioImporterSileroVAD (нейронный VAD), RuntimeAudioImporterWebRTCAEC3 (подавление эха) и RuntimeMetaHumanLipSync_Standard (стандартная модель липсинка).
Входящие в комплект бинарные файлы предварительно собраны для UE 5.6. Для UE 5.7 / 5.8 вы можете либо собрать их из исходного кода (см. документацию каждого расширения), либо использовать готовые бинарные файлы: UE 5.7 · UE 5.8. Для установки: удалите три существующие папки из Plugins/, затем распакуйте содержимое архива в Plugins/ вместо них.
Все три являются необязательными — если они вам не нужны, просто удалите их папки из Plugins/ перед запуском.
Структура демонстрационного проекта
Пользовательский интерфейс, показанный ниже, полностью создан с помощью UMG (Unreal Motion Graphics) и предназначен исключительно для демонстрации конвейера — распознавание речи → LLM → TTS → синхронизация губ. Вы можете свободно изменить стиль или заменить его, чтобы соответствовать визуальному дизайну вашего проекта, схеме управления или платформе (VR/AR, мобильные устройства, консоли, киоски и т. д.). Если какие-то виджеты не нужны в вашем сценарии, вы также можете просто скрыть их (например, установив для их видимости значение Collapsed или Hidden).

| Area | Что там? |
|---|---|
| Центр | Персонаж MetaHuman. |
| Левая сторона | Четыре кнопки настройки (Распознавание речи, ИИ-чат-бот, Синтез речи, Анимации), подробно описанные ниже. |
| Внизу по центру | Кнопка Начать запись. Нажмите её, чтобы начать голосовой разговор: ваш микрофон захватывается, распознаётся, отправляется в LLM, ответ синтезируется через TTS и воспроизводится с синхронизацией губ — полностью без участия рук. |
| Правый центр | Виджет истории разговора, показывающий весь обмен сообщениями между вами и AI (сообщения как пользователя, так и ассистента). Он также включает поле ввода текста, так что вы можете вводить сообщения напрямую без использования распознавания речи, что полезно для тестирования, для доступности или когда микрофон недоступен. |
Вы можете свободно смешивать оба режима ввода в одном сеансе — произносите одни сообщения, печатайте другие.
Если синхронизация губ продолжает всё сильнее отставать от аудио по мере тестирования (а не просто фиксированная задержка), см. Размер блока обработки в разделе Настройка анимаций ниже.
Кнопки конфигурации
Четыре кнопки настройки слева открывают отдельные панели для каждого этапа конвейера:
1. Настройка распознавания речи
Настройте, как захватывается и транскрибируется голос пользователя:
- Выберите язык
- Настройте параметры распознавания речи (настройки модели Whisper)
- Настройте AEC (подавление акустического эха)
- Настройте VAD (обнаружение голосовой активности)

2. Настройте AI-чат-бота
Выберите провайдера LLM и настройте его:
- Выберите провайдера (Runtime AI Chatbot Integrator или Runtime Local LLM)
- Выберите режим: Regular или Streaming (зависит от провайдера; Streaming обеспечивает пофразовую передачу TTS, см. Обзор конвейера)
- Для внешних провайдеров: токен авторизации, название модели и т. д.
- Для локальной LLM: выберите GGUF-модель, задайте размер контекста и другие параметры инференса. Вы также можете скачать свою собственную GGUF-модель во время выполнения напрямую из демо-версии (например, по URL) и использовать её сразу, без пересборки проекта.
Комбобокс провайдера отображает только тех провайдеров, чья папка модуля плагина присутствует в Content/Modules/.


3. Настройка преобразования текста в речь
Выберите поставщика TTS и настройте голоса/модели:
- Выберите провайдера (Runtime AI Chatbot Integrator для OpenAI/ElevenLabs или Runtime Text To Speech для локальных Piper/Kokoro)
- Выберите режим: Обычный или Потоковый (определяет, возвращается ли аудио сразу целиком или по мере его синтеза)
- Выберите голос/модель
- Настройте параметры, специфичные для провайдера


4. Настройка анимаций
Управляйте внешним видом вашего AI-аватара:
- Выберите один из 3 предзагруженных персонажей MetaHuman (Aera, Ada, Orlando)
- Выберите модель липсинка (Стандартная или Реалистичная)
- Выберите тип модели липсинка — Высокооптимизированная, Полуоптимизированная или Оригинальная (см. Тип модели)
- Настройте размер обрабатываемого фрагмента — управляет тем, как часто выполняется инференс липсинка (см. Размер обрабатываемого фрагмента)
- Если синхронизация губ со временем всё больше отстаёт от аудио при нагрузке на процессор, увеличьте это значение до 480 или 640.
- Выберите анимацию покоя для воспроизведения на MetaHuman во время разговора.

Предварительная настройка демо в редакторе
При работе с исходной версией вы можете заранее заполнить значения по умолчанию прямо в редакторе, чтобы не вводить их заново при каждом запуске:
| What | Где |
|---|---|
| Общие настройки (модель синхронизации губ, анимация ожидания, класс персонажа, распознавание речи и т. д.) | Content/LipSyncSTSGameInstance |
| Настройки внешней LLM / внешнего TTS (Runtime AI Chatbot Integrator) | Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider |
| Настройки локальной LLM (Runtime Local LLM) | Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider |
| Локальный TTS: настройки (Runtime Text To Speech) | Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider |
Кроссплатформенные заметки
Все плагины, используемые в демо, поддерживают Windows, Mac, Linux, iOS, Android и платформы на базе Android (включая Meta Quest), поэтому демо-проект работает на всех них. Это делает его пригодным для развертывания в самых разных средах — от игр и настольных киосков до мобильных приложений, автономных VR-гарнитур и систем виртуального продакшена на съемочной площадке.
Для более слабых устройств (мобильных, автономных VR) вам, возможно, стоит:
- Используйте стандартную модель липсинка вместо реалистичной — см. Сравнение моделей
- Переключитесь на высокооптимизированный тип модели
- Увеличьте размер обрабатываемого фрагмента, чтобы снизить нагрузку на ЦП
- Выбирайте более компактные модели LLM/TTS
См. Конфигурацию для конкретной платформы для дополнительных шагов настройки на Android, iOS, Mac и Linux.
Поддержка Pixel Streaming
Развертывание демо на Pixel Streaming (нажмите, чтобы развернуть)
Демонстрационный проект AI Conversational также работает в среде Pixel Streaming, позволяя вам передавать аватара MetaHuman удаленному клиенту (например, веб-браузеру), одновременно захватывая аудио с микрофона пользователя на стороне клиента. Для этого требуется только одно изменение в демо.
1. Установите расширение Pixel Streaming для Runtime Audio Importer.
Плагин Runtime Audio Importer предоставляет бесплатный плагин-расширение, который позволяет захватывать аудио с клиента Pixel Streaming. В зависимости от того, какую версию инфраструктуры Pixel Streaming вы используете, установите один из:
- расширение Pixel Streaming (для оригинального плагина Pixel Streaming), или
- расширение Pixel Streaming 2 (для более нового плагина Pixel Streaming 2)
Ссылки для скачивания и инструкции по установке доступны здесь: Pixel Streaming Audio Capture - Установка плагина расширения.
2. Замените узел захватываемой звуковой волны в LipSyncSTSGameInstance
После установки плагина расширения:
- В браузере контента перейдите в
/All/Gameи откройте ассетLipSyncSTSGameInstance. - Переключитесь на граф событий.
- Найдите Event Init и следуйте по потоку выполнения, пока не найдёте пару узлов:
Create Capturable Sound Wave→Set Capturable Sound Wave. - Замените вызов
Create Capturable Sound WaveнаCreate Pixel Streaming Capturable Sound WaveилиCreate Pixel Streaming 2 Capturable Sound Waveв зависимости от целевой версии инфраструктуры Pixel Streaming. - Подключите его выход к тому же узлу
Set Capturable Sound Wave.
После этого проект готов к развертыванию на Pixel Streaming — распознавание речи, LLM, TTS и липсинк будут работать как и прежде, но с захватом аудио от удаленного клиента вместо локального микрофона.
Использование собственного персонажа
Демонстрационный проект поставляется с тремя образцами персонажей MetaHuman (Aera, Ada, Orlando), но вы можете импортировать собственного MetaHuman и использовать его в демо.
📺 Видеоурок: Добавление собственного персонажа MetaHuman в демонстрационный проект
Сам плагин Runtime MetaHuman Lip Sync поддерживает множество других систем персонажей, помимо MetaHumans (персонажи на основе ARKit, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe и т. д. — см. Руководство по настройке пользовательских персонажей). Создаёте ли вы игрового NPC, виртуального ведущего, сотрудника киоска или цифрового человека для виртуального продакшена — плагин адаптируется к вашему пайплайну персонажей.
Более простой демонстрационный проект, который сосредоточен исключительно на самой функции lip sync, без полного рабочего процесса с AI-диалогами. Подходит, если вы просто хотите увидеть lip sync в действии с различными источниками звука.
Избранное видео
Загрузки
Что включено
Этот демо-проект демонстрирует базовые рабочие процессы липсинка:
- Вход с микрофона - синхронизация губ в реальном времени с живого аудио
- Воспроизведение аудиофайлов - синхронизация губ по импортированным аудиофайлам
- Синтез речи - синхронизация губ, управляемая синтезированной речью
Обязательные и необязательные плагины
| плагин | Цель | Обязательно? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Анимация синхронизации губ | ✅ Обязательно |
| Runtime Audio Importer | Импорт и захват аудио | ✅ Обязательно |
| Runtime Text To Speech | Локальный TTS для демо-сцены TTS | 🔶 Необязательно |
| Runtime AI Chatbot Integrator | Внешние TTS-провайдеры (OpenAI, ElevenLabs) | 🔶 Необязательно |
Входящие в комплект плагины расширения
Стандартное расширение Lip Sync (нажмите, чтобы развернуть)
Исходная версия поставляется с расширением RuntimeMetaHumanLipSync_Standard, предварительно встроенным в Plugins/, которое добавляет поддержку стандартной модели липсинка. Бинарные файлы предварительно собраны для UE 5.6; для UE 5.7 / 5.8 используйте готовые архивы (UE 5.7 · UE 5.8) или соберите из исходного кода — для установки удалите существующую папку из Plugins/ и распакуйте содержимое архива на её место. Удалите папку без замены, если вам не нужна стандартная модель.
Нужна помощь?
Если у вас возникнут какие-либо проблемы при настройке или запуске демонстрационных проектов, не стесняйтесь обращаться:
По вопросам индивидуальной разработки (например, расширение демо-версии вашей собственной логикой, адаптация под конкретную платформу или пайплайн персонажей) обращайтесь по адресу [email protected].