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
- Konwersacyjny NPC AI
- Podstawowe demo synchronizacji ruchu ust
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ć.
| Wtyczka | Przeznaczenie | Wymagana? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Animacja synchronizacji ruchu ust | ✅ Zawsze |
| Runtime Audio Importer | Przechwytywanie i przetwarzanie dźwięku | ✅ Zawsze |
| Runtime Speech Recognizer | Rozpoznawanie mowy offline (whisper.cpp) | ✅ Zawsze |
| Runtime AI Chatbot Integrator | Zewnętrzne LLM (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) i/lub zewnętrzne TTS (OpenAI, ElevenLabs) | 🔶 Opcjonalna |
| Runtime Local LLM | Lokalne wnioskowanie LLM przez llama.cpp (modele GGUF: Llama, Mistral, Gemma itp.) | 🔶 Opcjonalna |
| Runtime Text To Speech | Lokalne TTS przez Piper i Kokoro | 🔶 Opcjonalna |
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.
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.

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
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).

| Obszar | Co się tam znajduje |
|---|---|
| Środek | Postać MetaHuman. |
| Lewa strona | Cztery przyciski konfiguracyjne (Rozpoznawanie Mowy, Chatbot AI, Zamiana Tekstu na Mowę, Animacje), szczegółowo opisane poniżej. |
| Dół na środku | Przycisk 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 środek | Widget 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. |
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)

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.
Lista rozwijana dostawcy pokazuje tylko dostawców, których folder modułu wtyczki jest obecny w Content/Modules/.


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


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

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:
| Co | Gdzie |
|---|---|
| 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
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).
Prostszy projekt demonstracyjny skupiający się wyłącznie na funkcji synchronizacji ruchu ust, bez pełnego przepływu konwersacyjnego AI. Odpowiedni, jeśli chcesz tylko zobaczyć synchronizację ruchu ust w akcji z różnymi źródłami audio.
Polecane wideo
Pobieranie
Co zawiera
To demo prezentuje podstawowe przepływy synchronizacji ruchu ust:
- Wejście mikrofonowe – synchronizacja ruchu ust w czasie rzeczywistym z dźwięku na żywo
- Odtwarzanie pliku audio – synchronizacja ruchu ust z zaimportowanych plików audio
- Zamiana tekstu na mowę – synchronizacja ruchu ust napędzana syntezowaną mową
Wymagane i opcjonalne wtyczki
| Wtyczka | Przeznaczenie | Wymagana? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Animacja synchronizacji ruchu ust | ✅ Wymagana |
| Runtime Audio Importer | Import i przechwytywanie dźwięku | ✅ Wymagana |
| Runtime Text To Speech | Lokalny TTS dla sceny demo TTS | 🔶 Opcjonalna |
| Runtime AI Chatbot Integrator | Zewnętrzni dostawcy TTS (OpenAI, ElevenLabs) | 🔶 Opcjonalna |
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ę:
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.