Демонстрационные проекты
Чтобы помочь вам быстро начать работу с Runtime MetaHuman Lip Sync, доступны два готовых демонстрационных проекта. Оба созданы на Unreal Engine 5.6+, являются Blueprint-only и работают кроссплатформенно на Windows, Mac, Linux, iOS, Android и платформах на базе Android (включая Meta Quest).
Доступные демонстрационные проекты
- ИИ-диалоговый NPC / Интерактивный аватар
- Базовый демонстрационный синхронизации губ
Полный рабочий процесс создания разговорного аватара с ИИ, объединяющий распознавание речи, ИИ-чат-бота (LLM), синтез речи и воспроизведение аудио с синхронизацией губ в реальном времени — всё это работает вместе в одном проекте. Подходит для широкого круга сценариев использования, включая игры, интерактивные киоски, виртуальное производство, музейные инсталляции, цифровых ассистентов и тренировочные симуляции.
Обзор конвейера
🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback
Видео
Быстрый предпросмотр (~30 сек)
Краткая демонстрация работы демо-проекта.
Полное прохождение
Подробное руководство, охватывающее настройку, конфигурацию и полный конвейер диалогов.
Загрузки
Обязательные и опциональные плагины
Демонстрационный проект является модульным — вам нужны только плагины для тех провайдеров, которые вы хотите использовать.
| Плагин | Цель | Обязательно? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Липсинк-анимация | ✅ Всегда |
| Runtime Audio Importer | Захват и обработка аудио | ✅ Всегда |
| Runtime Speech Recognizer | Офлайн-распознавание речи (whisper.cpp) | ✅ Всегда |
| Runtime AI Chatbot Integrator | Внешние LLM (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) и/или внешние TTS (OpenAI, ElevenLabs) | 🔶 Необязательно |
| Runtime Local LLM | Локальный вывод LLM через llama.cpp (модели Llama, Mistral, Gemma и др. в формате GGUF) | 🔶 Необязательно |
| Runtime Text To Speech | Локальный 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/ (см. выше).
Макет демонстрационного проекта
Пользовательский интерфейс, показанный ниже, полностью создан с помощью UMG (Unreal Motion Graphics) и предназначен исключительно для демонстрации конвейера: распознавание речи → LLM → TTS → синхронизация губ. Вы можете изменить его стиль или заменить, чтобы он соответствовал визуальному дизайну вашего проекта, схеме управления или платформе (VR/AR, мобильные устройства, консоли, киоски и т. д.). Если некоторые виджеты не нужны в вашем сценарии использования, вы также можете просто скрыть их (например, установить их видимость на Collapsed или Hidden).

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

2. Настройка AI-чатбота
Выберите провайдера LLM и настройте его:
- Выберите провайдера (Runtime AI Chatbot Integrator или Runtime Local LLM)
- Для внешних провайдеров: токен аутентификации, название модели и т.д.
- Для локальной 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)
- Выберите модель синхронизации губ (Standard или Realistic)
- Выберите тип модели синхронизации губ — Highly Optimized, Semi-Optimized или Original (см. Тип модели)
- Настройте размер обрабатываемого фрагмента — определяет, как часто выполняется инференс синхронизации губ (см. Размер обрабатываемого фрагмента)
- Выберите анимацию бездействия для воспроизведения на MetaHuman во время разговора

Предварительная настройка демо в редакторе
При работе с исходной версией вы можете предварительно заполнить значения по умолчанию прямо в редакторе, чтобы не вводить их заново при каждом запуске:
| What | Где |
|---|---|
| Общие настройки (модель синхронизации губ, анимация бездействия, класс персонажа, распознавание речи и т.д.) | Content/LipSyncSTSGameInstance |
| Настройки внешней LLM / внешней TTS (Интегратор чат-ботов с ИИ в реальном времени) | Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider |
| Настройки Local LLM (Runtime Local LLM) | Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider |
| Локальный TTS (синтез речи в реальном времени) | 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
После установки плагина расширения:
- В Content Browser перейдите в
/All/Gameи откройте ассетLipSyncSTSGameInstance. - Переключитесь на Event Graph.
- Найдите 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, виртуального ведущего, киоск-ассистента или цифрового человека для виртуального производства — плагин адаптируется под ваш пайплайн персонажей.
Более простой демонстрационный проект, который фокусируется исключительно на функции синхронизации губ, без полного рабочего процесса ИИ-диалогов. Подходит, если вы просто хотите увидеть синхронизацию губ в действии с различными источниками аудио.
Рекомендуемое видео
Загрузки
Что входит в комплект
Эта демонстрация показывает основные рабочие процессы синхронизации губ:
- Ввод с микрофона — синхронизация губ в реальном времени с живого аудио
- Воспроизведение аудиофайлов — синхронизация губ из импортированных аудиофайлов
- Преобразование текста в речь — синхронизация губ, управляемая синтезированной речью
Обязательные и опциональные плагины
| Плагин | Цель | Обязательно? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Липсинк-анимация | ✅ Требуется |
| Runtime Audio Importer | Импорт и захват аудио | ✅ Требуется |
| Runtime Text To Speech | Локальный TTS для демонстрационной сцены TTS | 🔶 Необязательно |
| Runtime AI Chatbot Integrator | Внешние TTS-провайдеры (OpenAI, ElevenLabs) | 🔶 Необязательно |
Примечания к стандартной модели синхронизации губ
Если вы планируете использовать Стандартную модель (вместо Реалистичной) в любом из демонстрационных проектов, вам потребуется установить плагин Standard Lip Sync Extension. Инструкции по установке см. в разделе Расширение для стандартной модели.
Нужна помощь?
Если у вас возникнут проблемы с настройкой или запуском демонстрационных проектов, не стесняйтесь обращаться:
Для запросов на индивидуальную разработку (например, расширение демо-версии собственной логикой, адаптация под конкретную платформу или пайплайн персонажей) обращайтесь по адресу [email protected].