Przejdź do głównej zawartości

Projekty demonstracyjne

Aby szybko rozpocząć pracę z Runtime MetaHuman Lip Sync, dostępne są dwa gotowe do użycia projekty demonstracyjne. Oba są zbudowane przy użyciu Unreal Engine 5.6+, są oparte wyłącznie na Blueprintach i działają wieloplatformowo na Windows, Mac, Linux, iOS, Android oraz platformach opartych na Androidzie (w tym Meta Quest).

Dostępne projekty demonstracyjne

Pełny przepływ pracy konwersacyjnego NPC AI łączący rozpoznawanie mowy, chatbota AI (LLM), zamianę tekstu na mowę oraz odtwarzanie dźwięku z synchronizacją ruchu warg w czasie rzeczywistym – wszystko działające razem w jednym projekcie.

Przegląd potoku

🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback

Filmy

Szybki podgląd (~30 sek)

Krótka prezentacja działania dema.

Pełny przewodnik

Szczegółowy przewodnik obejmujący konfigurację, ustawienia i cały potok konwersacyjny.

Pobrania

Wymagane i opcjonalne wtyczki

Projekt demonstracyjny jest modułowy – potrzebujesz tylko wtyczek dla dostawców, z których chcesz korzystać.

WtyczkaPrzeznaczenieWymagana?
Runtime MetaHuman Lip SyncAnimacja synchronizacji ruchu ust✅ Zawsze
Runtime Audio ImporterPrzechwytywanie i przetwarzanie dźwięku✅ Zawsze
Runtime Speech RecognizerRozpoznawanie mowy offline (whisper.cpp)✅ Zawsze
Runtime AI Chatbot IntegratorZewnętrzne LLM (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) i/lub zewnętrzne TTS (OpenAI, ElevenLabs)🔶 Opcjonalna
Runtime Local LLMLokalne wnioskowanie LLM przez llama.cpp (modele GGUF: Llama, Mistral, Gemma itp.)🔶 Opcjonalna
Runtime Text To SpeechLokalne TTS przez Piper i Kokoro🔶 Opcjonalna
Opcjonalne wtyczki – wymagania dotyczące dostawców

Chociaż każda z powyższych wtyczek jest indywidualnie opcjonalna, potrzebujesz co najmniej jednego dostawcy LLM oraz co najmniej jednego dostawcy TTS, aby demo działało. Swobodnie łącz je ze sobą (np. lokalny LLM + ElevenLabs TTS albo OpenAI LLM + lokalny TTS).

Modułowa architektura

W folderze Content znajdziesz folder Modules, który zawiera trzy podfoldery:

Content/
└── Modules/
├── RuntimeAIChatbotIntegrator/ ← External LLMs and/or external TTS
├── RuntimeLocalLLM/ ← Local LLM via llama.cpp
└── RuntimeTextToSpeech/ ← Local TTS via Piper/Kokoro

Jeśli nie nabyłeś jednej (lub więcej) z opcjonalnych wtyczek, po prostu usuń odpowiednie foldery. Podstawowe zasoby projektu demonstracyjnego (instancja gry, widgety itp.) nie odwołują się bezpośrednio do tych modułów, więc ich usunięcie nie spowoduje błędów odwołań do zasobów. Interfejs konfiguracyjny automatycznie ukryje dostawcę, którego folder jest nieobecny.

notatka

Ta modułowość dotyczy tylko dostawców LLM i TTS. Rozpoznawanie Mowy (Runtime Speech Recognizer) i Synchronizacja Ruchu Ust (Runtime MetaHuman Lip Sync) są częścią podstawowego projektu demonstracyjnego i są zawsze wymagane.

Struktura folderów modułów

ostrzeżenie

Przy pierwszym uruchomieniu Unreal może zapytać, czy wyłączyć brakujące opcjonalne wtyczki – kliknij Tak. Upewnij się też, że usunąłeś odpowiedni folder Content/Modules/ (patrz wyżej).

Układ projektu demonstracyjnego

UI jest przeznaczone do celów demonstracyjnych

Interfejs użytkownika pokazany poniżej jest zbudowany w całości za pomocą UMG (Unreal Motion Graphics) i służy wyłącznie do zademonstrowania potoku – rozpoznawanie mowy → LLM → TTS → synchronizacja ruchu ust. Możesz go dowolnie przebudować lub wymienić, aby dopasować do stylu wizualnego swojej gry, schematu sterowania lub platformy (VR/AR, mobilne, konsole itp.). Jeśli pewne widgety nie są potrzebne w twoim przypadku użycia, możesz je również po prostu ukryć (np. ustawić widoczność na Zwinięte lub Ukryte).

Adnotowany przegląd głównego ekranu projektu demonstracyjnego

ObszarCo się tam znajduje
ŚrodekPostać MetaHuman.
Lewa stronaCztery przyciski konfiguracyjne (Rozpoznawanie Mowy, Chatbot AI, Zamiana Tekstu na Mowę, Animacje), szczegółowo opisane poniżej.
Dół na środkuPrzycisk Rozpocznij Nagrywanie. Kliknij, aby rozpocząć rozmowę głosową: dźwięk z mikrofonu jest przechwytywany, transkrybowany, wysyłany do LLM, odpowiedź jest syntezowana przez TTS i odtwarzana z synchronizacją ruchu ust, całkowicie bez użycia rąk.
Prawy środekWidget historii konwersacji pokazujący pełną wymianę między tobą a SI (zarówno wiadomości użytkownika, jak i asystenta). Zawiera również pole wprowadzania tekstu, dzięki czemu możesz wpisywać wiadomości bezpośrednio bez użycia rozpoznawania mowy, co jest przydatne do testowania, dostępności lub gdy mikrofon nie jest dostępny.
wskazówka

Możesz swobodnie łączyć oba tryby wprowadzania w tej samej sesji – mówić niektóre wiadomości, a inne wpisywać.

Przyciski konfiguracyjne

Cztery przyciski konfiguracyjne po lewej stronie otwierają dedykowane panele dla każdej części potoku:

1. Skonfiguruj Rozpoznawanie Mowy

Skonfiguruj przechwytywanie i transkrypcję głosu użytkownika:

  • Wybierz język
  • Dostosuj parametry rozpoznawania mowy (ustawienia modelu Whisper)
  • Skonfiguruj AEC (Acoustic Echo Cancellation)
  • Skonfiguruj VAD (Voice Activity Detection)

Ekran konfiguracji rozpoznawania mowy

2. Skonfiguruj Chatbota AI

Wybierz dostawcę LLM i skonfiguruj go:

  • Wybierz dostawcę (Runtime AI Chatbot Integrator lub Runtime Local LLM)
  • Dla zewnętrznych dostawców: token uwierzytelniający, nazwa modelu itp.
  • Dla lokalnego LLM: wybierz model GGUF, ustaw rozmiar kontekstu i inne parametry wnioskowania. Możesz również pobrać własny model GGUF podczas działania bezpośrednio z demo (np. przez URL), i użyć go natychmiast bez przebudowywania projektu.
wskazówka

Lista rozwijana dostawcy pokazuje tylko dostawców, których folder modułu wtyczki jest obecny w Content/Modules/.

Konfiguracja chatbota AI – Runtime AI Chatbot Integrator (zewnętrzny LLM)

Konfiguracja chatbota AI – Runtime Local LLM (lokalny GGUF)

3. Skonfiguruj Zamianę Tekstu na Mowę

Wybierz dostawcę TTS i skonfiguruj głosy/modele:

  • Wybierz dostawcę (Runtime AI Chatbot Integrator dla OpenAI/ElevenLabs, lub Runtime Text To Speech dla lokalnego Piper/Kokoro)
  • Wybierz głos/model
  • Dostosuj parametry specyficzne dla dostawcy

Konfiguracja TTS – Runtime AI Chatbot Integrator (zewnętrzny TTS)

Konfiguracja TTS – Runtime Local Text To Speech (lokalny Piper/Kokoro)

4. Skonfiguruj Animacje

Kontroluj wygląd wizualny swojego NPC AI:

  • Wybierz pomiędzy 3 wstępnie pobranymi postaciami MetaHuman (Aera, Ada, Orlando)
  • Wybierz model synchronizacji ruchu ust (Standardowy lub Realistyczny)
  • Wybierz typ modelu synchronizacji ruchu ust – Highly Optimized, Semi-Optimized lub Original (zobacz Typ Modelu)
  • Dostosuj Rozmiar Cząstki Przetwarzania – kontroluje częstotliwość wykonywania wnioskowania synchronizacji ruchu ust (zobacz Rozmiar Cząstki Przetwarzania)
  • Wybierz animację bezczynności odtwarzaną na MetaHumanie podczas konwersacji

Ekran konfiguracji animacji

Wstępne konfigurowanie demo w edytorze

Podczas pracy z wersją źródłową możesz wypełnić domyślne wartości bezpośrednio w edytorze, aby nie trzeba było wprowadzać ich ponownie przy każdym uruchomieniu:

CoGdzie
Ustawienia ogólne (model synchronizacji ruchu ust, animacja bezczynności, klasa postaci, rozpoznawanie mowy, itp.)Content/LipSyncSTSGameInstance
Ustawienia zewnętrznego LLM / zewnętrznego TTS (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Ustawienia lokalnego LLM (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
Ustawienia lokalnego TTS (Runtime Text To Speech)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

Uwagi dotyczące wielu platform

Wszystkie wtyczki używane w demo obsługują Windows, Mac, Linux, iOS, Android oraz platformy oparte na Androidzie (w tym Meta Quest), więc projekt demonstracyjny działa również na wszystkich tych platformach.

Dla słabszych urządzeń (mobilne, autonomiczne VR) możesz chcieć:

  • Użyć modelu Standard synchronizacji ruchu ust zamiast Realistycznego – zobacz Porównanie modeli
  • Przełączyć na typ Highly Optimized
  • Zwiększyć Rozmiar Cząstki Przetwarzania, aby zmniejszyć obciążenie CPU
  • Wybrać mniejsze modele LLM / TTS

Zobacz Konfiguracja specyficzna dla platformy dla dodatkowych kroków instalacji na Androidzie, iOS, Macu i Linuksie.

Importowanie własnego MetaHumana

Projekt demonstracyjny zawiera trzy przykładowe postacie MetaHuman (Aera, Ada, Orlando), ale możesz zaimportować własnego MetaHumana i użyć go w demo.

📺 Samouczek wideo: Dodawanie niestandardowej postaci MetaHuman do projektu demonstracyjnego

notatka

Sama wtyczka Runtime MetaHuman Lip Sync obsługuje wiele innych systemów postaci poza MetaHumanami (postacie oparte na ARKit, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe itp. – zobacz Przewodnik konfiguracji niestandardowej postaci).

Uwagi dotyczące Standardowego Modelu Synchronizacji Ruchu Ust

Jeśli planujesz używać Standardowego Modelu (zamiast Realistycznego) w którymkolwiek z projektów demonstracyjnych, musisz zainstalować wtyczkę rozszerzenia Standard Lip Sync. Zobacz Rozszerzenie Standardowego Modelu dla instrukcji instalacji.

Potrzebujesz pomocy?

Jeśli napotkasz jakiekolwiek problemy z konfiguracją lub uruchomieniem projektów demonstracyjnych, skontaktuj się:

Join our Discord
online · support

W przypadku zapytań o rozwój niestandardowy (np. rozszerzenie demo o własną logikę, dostosowanie go do konkretnej platformy lub potoku postaci), skontaktuj się z solutions@georgy.dev.