Przejdź do głównej zawartości

Przegląd

Runtime MetaHuman Lip Sync Documentation

Runtime MetaHuman Lip Sync to wtyczka umożliwiająca synchronizację ruchu warg w czasie rzeczywistym, offline i międzyplatformowo zarówno dla postaci MetaHuman, jak i niestandardowych. Pozwala animować usta postaci w odpowiedzi na dane audio z różnych źródeł, w tym:

Wtyczka wewnętrznie generuje visemy (wizualne reprezentacje fonemów) na podstawie wejścia audio. Ponieważ działa bezpośrednio z danymi audio, a nie z tekstem, wtyczka obsługuje wielojęzyczne dane wejściowe, w tym między innymi angielski, hiszpański, francuski, niemiecki, japoński, chiński, koreański, rosyjski, włoski, portugalski, arabski i hindi. Dosłownie każdy język jest obsługiwany, ponieważ synchronizacja ruchu warg jest generowana na podstawie fonemów dźwiękowych, a nie przetwarzania tekstu specyficznego dla języka.

Standard Model produkuje 14 visem i wykonuje animację synchronizacji ruchu warg przy użyciu predefiniowanego zasobu pozy. W przeciwieństwie do tego, Realistic Models (dostępne wyłącznie dla postaci opartych na MetaHuman i ARKit) generują 81 zmian sterowania twarzą bez polegania na predefiniowanym zasobie pozy, co skutkuje znacznie bardziej realistycznymi animacjami twarzy.

Kompatybilność z postaciami

Pomimo swojej nazwy, Runtime MetaHuman Lip Sync działa z szeroką gamą postaci wykraczającą poza same MetaHumany:

Popularne komercyjne systemy postaci

  • Daz Genesis 8/9 postacie
  • Reallusion Character Creator 3/4 (CC3/CC4) postacie
  • Mixamo postacie
  • ReadyPlayerMe awatary

Wsparcie standardów animacji

  • Systemy blendshape oparte na FACS
  • Standard blendshape Apple ARKit
  • Zestawy fonemów Preston Blair
  • Systemy fonemów 3ds Max
  • Każda postać z niestandardowymi celami morfingu dla ekspresji twarzy

Aby uzyskać szczegółowe instrukcje dotyczące korzystania z wtyczki z postaciami innymi niż MetaHuman, zapoznaj się z Custom Character Setup Guide.

Podgląd animacji

Sprawdź te krótkie animacje, aby zobaczyć jakość synchronizacji ruchu warg generowanej przez wtyczkę dla różnych typów postaci i modeli:

Realistyczny model z postacią MetaHuman
Standardowy model z postacią MetaHuman
Standardowy model z niestandardową postacią
Standardowy model z postacią niestandardową

Kluczowe funkcje

  • Synchronizacja ruchu warg w czasie rzeczywistym z wejścia mikrofonowego
  • Obsługa przetwarzania audio offline
  • Kompatybilność międzyplatformowa z obsługą platform specyficznych dla modelu
  • Obsługa wielu systemów postaci i standardów animacji
  • Elastyczne mapowanie wizem dla postaci niestandardowych
  • Uniwersalna obsługa języków – działa z każdym językiem mówionym dzięki analizie audio
  • Animacja twarzy uwzględniająca nastrój dla większej ekspresji
  • Konfigurowalne typy wyjścia (sterowanie całą twarzą lub tylko ustami)

Modele synchronizacji ruchu warg

Wtyczka oferuje wiele modeli synchronizacji ruchu warg dostosowanych do różnych potrzeb projektu:

Model Standardowy zapewnia wydajną, międzyplatformową wydajność z szeroką kompatybilnością postaci:

  • Działa z MetaHumanami i wszystkimi typami postaci niestandardowych
  • Zoptymalizowany pod kątem wydajności w czasie rzeczywistym
  • Niższe wymagania zasobowe
  • Wsparcie platform: Windows, Android, platformy oparte na Androidzie (w tym Meta Quest)
Wymagana wtyczka rozszerzenia

Aby korzystać z Modelu Standardowego, należy zainstalować dodatkową wtyczkę rozszerzenia. Instrukcje instalacji znajdują się w sekcji Wymagania wstępne.

Możesz wybrać odpowiedni model w zależności od wymagań projektu dotyczących wydajności, kompatybilności postaci, jakości wizualnej, platformy docelowej i potrzebnych funkcji.

Jak to działa

Wtyczka przetwarza dźwięk wejściowy w następujący sposób:

  1. Dane audio odbierane są w formacie PCM jako liczby zmiennoprzecinkowe, z określoną liczbą kanałów i częstotliwością próbkowania
  2. Wtyczka przetwarza dźwięk, generując dane sterowania twarzą lub wizemy, w zależności od modelu
  3. W modelach z obsługą nastroju do animacji twarzy stosowany jest kontekst emocjonalny
  4. Dane animacji sterują ruchami twarzy postaci w czasie rzeczywistym

Architektura wydajności

Runtime MetaHuman Lip Sync wykorzystuje wnioskowanie wyłącznie na CPU, aby zapewnić spójne wyniki synchronizacji ruchu warg o niskim opóźnieniu, odpowiednie dla aplikacji czasu rzeczywistego. Domyślnie wtyczka wykonuje przetwarzanie synchronizacji ruchu warg co 10 milisekund (możliwość regulacji – zobacz Konfiguracja wtyczki aby uzyskać wszystkie dostępne ustawienia, w tym Rozmiar porcji przetwarzania, liczbę wątków i inne parametry wydajnościowe).

Przegląd architektury modelu

Modele synchronizacji ruchu warg wykorzystują kompaktową sieć neuronową opartą na transformerach, która przetwarza dźwięk za pomocą analizy spektrogramu melowego. Ta lekka architektura została zaprojektowana specjalnie z myślą o wydajności w czasie rzeczywistym, z efektywnym wnioskowaniem na CPU i minimalnym zużyciem pamięci.

Dlaczego wnioskowanie na CPU?

W przypadku małych, częstych operacji wnioskowania, takich jak synchronizacja ruchu warg w czasie rzeczywistym, przetwarzanie na CPU oferuje lepszą charakterystykę opóźnień niż GPU. Przy rozmiarze partii 1 i interwałach wnioskowania 10–100 ms, narzut GPU związany z transferami PCIe i uruchamianiem kernel'i często przewyższa rzeczywisty czas obliczeń. Ponadto w silnikach gier GPU jest już obciążone renderowaniem, shaderami i fizyką, co powoduje rywalizację o zasoby i wprowadza nieprzewidywalne skoki opóźnień.

Kompatybilność sprzętowa

Wtyczka działa wydajnie na większości procesorów klasy średniej i wyższych bez potrzeby korzystania z dedykowanego sprzętu graficznego, zapewniając wydajność w czasie rzeczywistym na platformach desktopowych, mobilnych i VR. W przypadku słabszego sprzętu można dostosować Typ modelu na Częściowo zoptymalizowany lub Wysoce zoptymalizowany lub zwiększyć Rozmiar porcji przetwarzania, aby utrzymać wydajność w czasie rzeczywistym przy nieco obniżonej responsywności.

Szybki start

Oto podstawowa konfiguracja umożliwiająca włączenie synchronizacji ruchu warg na twojej postaci:

  1. W przypadku postaci MetaHuman postępuj zgodnie z Przewodnikiem konfiguracji
  2. W przypadku postaci niestandardowych postępuj zgodnie z Przewodnikiem konfiguracji postaci niestandardowej
  3. Wybierz i skonfiguruj preferowany model synchronizacji ruchu warg
  4. Skonfiguruj przetwarzanie wejścia audio w swoim Blueprint
  5. Podłącz odpowiedni węzeł synchronizacji ruchu warg w Animation Blueprint
  6. Odtwórz dźwięk i zobacz, jak twoja postać mówi z emocjami!

Dodatkowe zasoby

📦 Pliki do pobrania i linki

Projekty demonstracyjne:

Dostępne są dwa gotowe projekty demonstracyjne – szczegółowe informacje, pliki do pobrania i przewodniki można znaleźć na dedykowanej stronie Projekty demonstracyjne:

Oba dema są wieloplatformowe (Windows, Mac, Linux, iOS, Android, Meta Quest) i dostępne jako spakowane kompilacje oraz pełne projekty źródłowe dla UE 5.6+.

🎥 Samouczki wideo

Wyróżnione dema:

Samouczki Modelu Realistycznego (wysoka jakość):

Samouczki Modelu Standardowego:

Ogólna konfiguracja:

💬 Wsparcie

  • Rozwój na zamówienie: solutions@georgy.dev (rozwiązania szyte na miarę dla zespołów i organizacji)
Join our Discord
online · support