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

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

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

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

Полный рабочий процесс общения с ИИ-персонажем (AI NPC), объединяющий распознавание речи, чат-бота с ИИ (LLM), синтез речи в текст (text-to-speech) и воспроизведение аудио с липсинком в реальном времени — всё вместе в одном проекте.

Обзор пайплайна

🎤 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

warning

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

Структура демо-проекта

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

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

Аннотированный обзор главного экрана демо-проекта

ОбластьЧто здесь находится
ЦентрПерсонаж MetaHuman.
Левая сторонаЧетыре кнопки конфигурации (Speech Recognition, AI Chatbot, Text To Speech, Animations), подробно описанные ниже.
Центр внизуКнопка Начать запись. Нажмите её, чтобы начать голосовой разговор: ваш микрофон захватывается, распознаётся речь, отправляется в LLM, ответ синтезируется через TTS и воспроизводится с синхронизацией губ, полностью без использования рук.
Правая центральная частьВиджет истории разговора, показывающий всю переписку между вами и AI (как сообщения пользователя, так и ассистента). Он также содержит поле ввода текста, чтобы вы могли вводить сообщения напрямую без использования распознавания речи, что удобно для тестирования, для доступности или когда микрофон недоступен.
подсказка

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

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

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

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

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

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

Экран настройки распознавания речи

2. Настройка AI Chatbot

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

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

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

Конфигурация AI Chatbot - Runtime AI Chatbot Integrator (внешняя LLM)

Конфигурация AI Chatbot - Runtime Local LLM (локальная GGUF)

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

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

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

Настройка TTS - Runtime AI Chatbot Integrator (внешняя TTS)

Настройка TTS - Runtime Local Text To Speech (локальные Piper/Kokoro)

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

Управляйте визуалом вашего NPC с AI:

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

Экран настройки анимаций

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

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

ЧтоГде
Общие настройки (модель синхронизации губ, анимация бездействия, класс персонажа, распознавание речи и т.д.)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) вы можете захотеть:

  • Использовать Standard модель синхронизации губ вместо Realistic — см. Сравнение моделей
  • Переключиться на тип модели Highly Optimized
  • Увеличить Размер порции обработки, чтобы снизить нагрузку на ЦП
  • Выбрать меньшие модели LLM / TTS

См. Конфигурация для конкретных платформ для дополнительных шагов по настройке на Android, iOS, Mac и Linux.

Использование собственного MetaHuman

Демо-проект поставляется с тремя образцами персонажей MetaHuman (Aera, Ada, Orlando), но вы можете импортировать своего собственного MetaHuman и использовать его в демо.

📺 Видеоурок: Добавление своего персонажа MetaHuman в демо-проект

примечание

Сам плагин Runtime MetaHuman Lip Sync поддерживает множество других систем персонажей помимо MetaHuman (персонажи на основе ARKit, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe и т.д. — см. Руководство по настройке своих персонажей).

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

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

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

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

Join our Discord
online · support

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