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

Демонстрационные проекты

Чтобы помочь вам быстро начать работу с Runtime MetaHuman Lip Sync, доступны два готовых демонстрационных проекта. Оба созданы на Unreal Engine 5.6+, являются Blueprint-only и работают кроссплатформенно на Windows, Mac, Linux, iOS, Android и платформах на базе Android (включая Meta Quest).

Доступные демонстрационные проекты

Полный рабочий процесс создания разговорного аватара с ИИ, объединяющий распознавание речи, ИИ-чат-бота (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) являются частью базового демонстрационного проекта и всегда обязательны.

Modules folder structure

warning

При первом запуске Unreal может спросить, нужно ли отключить отсутствующие опциональные плагины — нажмите Да. Убедитесь, что вы также удалили соответствующую папку Content/Modules/ (см. выше).

Макет демонстрационного проекта

Пользовательский интерфейс предназначен для демонстрационных целей

Пользовательский интерфейс, показанный ниже, полностью создан с помощью UMG (Unreal Motion Graphics) и предназначен исключительно для демонстрации конвейера: распознавание речи → LLM → TTS → синхронизация губ. Вы можете изменить его стиль или заменить, чтобы он соответствовал визуальному дизайну вашего проекта, схеме управления или платформе (VR/AR, мобильные устройства, консоли, киоски и т. д.). Если некоторые виджеты не нужны в вашем сценарии использования, вы также можете просто скрыть их (например, установить их видимость на Collapsed или Hidden).

Annotated overview of the demo project main screen

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

Вы можете свободно смешивать оба режима ввода в рамках одного сеанса: одни сообщения произносить голосом, другие вводить с клавиатуры.

Кнопки конфигурации

Четыре кнопки конфигурации слева открывают специальные панели для каждой части конвейера:

1. Настройте распознавание речи

Настройте, как захватывается и транскрибируется голос пользователя:

  • Выберите язык
  • Настройте параметры распознавания речи (настройки модели Whisper)
  • Настройте AEC (подавление акустического эха)
  • Настройте VAD (детекцию голосовой активности)

Speech recognition configuration screen

2. Настройка AI-чатбота

Выберите провайдера LLM и настройте его:

  • Выберите провайдера (Runtime AI Chatbot Integrator или Runtime Local LLM)
  • Для внешних провайдеров: токен аутентификации, название модели и т.д.
  • Для локальной LLM: выберите GGUF-модель, задайте размер контекста и другие параметры вывода. Вы также можете загрузить свою GGUF-модель во время выполнения прямо из демо (например, по URL) и сразу использовать её без пересборки проекта.
подсказка

Выпадающий список провайдеров отображает только тех провайдеров, чья папка модуля плагина присутствует в Content/Modules/.

AI chatbot configuration - Runtime AI Chatbot Integrator (external LLM)

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. Настройка преобразования текста в речь

Выберите вашего TTS-провайдера и настройте голоса/модели:

  • Выберите провайдера (Runtime AI Chatbot Integrator для OpenAI/ElevenLabs или Runtime Text To Speech для локального Piper/Kokoro)
  • Выберите голос/модель
  • Настройте параметры, специфичные для провайдера

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

TTS configuration - Runtime Local Text To Speech (local Piper/Kokoro)

4. Настройка анимаций

Управляйте визуальным оформлением вашего AI-аватара:

  • Выберите одного из 3 предварительно загруженных персонажей MetaHuman (Aera, Ada, Orlando)
  • Выберите модель синхронизации губ (Standard или Realistic)
  • Выберите тип модели синхронизации губ — Highly Optimized, Semi-Optimized или Original (см. Тип модели)
  • Настройте размер обрабатываемого фрагмента — определяет, как часто выполняется инференс синхронизации губ (см. Размер обрабатываемого фрагмента)
  • Выберите анимацию бездействия для воспроизведения на MetaHuman во время разговора

Animations configuration screen

Предварительная настройка демо в редакторе

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

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 Audio Capture — Установка плагина расширения.

2. Замените узел захватываемой звуковой волны в LipSyncSTSGameInstance

После установки плагина расширения:

  1. В Content Browser перейдите в /All/Game и откройте ассет LipSyncSTSGameInstance.
  2. Переключитесь на Event Graph.
  3. Найдите Event Init и проследите поток выполнения, пока не найдете пару узлов: Create Capturable Sound WaveSet Capturable Sound Wave.
  4. Замените вызов Create Capturable Sound Wave на Create Pixel Streaming Capturable Sound Wave или Create Pixel Streaming 2 Capturable Sound Wave в зависимости от версии инфраструктуры Pixel Streaming, на которую вы ориентируетесь.
  5. Подключите его выход к тому же узлу 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, виртуального ведущего, киоск-ассистента или цифрового человека для виртуального производства — плагин адаптируется под ваш пайплайн персонажей.

Примечания к стандартной модели синхронизации губ

Если вы планируете использовать Стандартную модель (вместо Реалистичной) в любом из демонстрационных проектов, вам потребуется установить плагин Standard Lip Sync Extension. Инструкции по установке см. в разделе Расширение для стандартной модели.

Нужна помощь?

Если у вас возникнут проблемы с настройкой или запуском демонстрационных проектов, не стесняйтесь обращаться:

Join our Discord
online · support

Для запросов на индивидуальную разработку (например, расширение демо-версии собственной логикой, адаптация под конкретную платформу или пайплайн персонажей) обращайтесь по адресу [email protected].