Przejdź do głównej zawartości

Przegląd

Runtime MetaHuman Lip Sync Documentation

Runtime MetaHuman Lip Sync to wtyczka umożliwiająca animację ust w czasie rzeczywistym, offline oraz na wielu platformach, zarówno dla postaci MetaHuman, jak i niestandardowych. Pozwala animować usta postaci w odpowiedzi na dźwięk wejściowy z różnych źródeł, w tym:

Wtyczka wewnętrznie generuje wizemy (wizualne reprezentacje fonemów) na podstawie wejścia audio. Ponieważ działa bezpośrednio na danych audio, a nie na tekście, wtyczka obsługuje wielojęzyczne wejście, 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 ust jest generowana z fonemów dźwiękowych, a nie z przetwarzania tekstu specyficznego dla języka.

Model Standardowy generuje 14 wizemów i wykonuje animację synchronizacji ust przy użyciu predefiniowanego zasobu poz. Natomiast Modele Realistyczne (dostępne wyłącznie dla postaci MetaHuman i opartych na ARKit) generują 81 zmian kontroli twarzy bez polegania na predefiniowanym zasobie poz, co skutkuje znacznie bardziej realistycznymi animacjami mimiki.

Kompatybilność z Postaciami

Pomimo swojej nazwy, Runtime MetaHuman Lip Sync działa z szerokim zakresem postaci, nie tylko z MetaHuman:

Popularne Komercyjne Systemy Postaci

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

Obsługa Standardów Animacji

  • Systemy blendshape oparte na FACS
  • Standard blendshape Apple ARKit
  • Zestawy fonemów Preston Blair
  • Systemy fonemów 3ds Max
  • Dowolna postać z niestandardowymi celami morfowania (morph targets) dla wyrazów twarzy

Szczegółowe instrukcje dotyczące używania wtyczki z postaciami innymi niż MetaHuman znajdują się w Przewodniku konfiguracji postaci niestandardowych.

Podgląd Animacji

Sprawdź te krótkie animacje, aby zobaczyć jakość animacji synchronizacji ust 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ą
Model standardowy z niestandardową postacią

Kluczowe funkcje

  • Synchronizacja ruchu warg w czasie rzeczywistym z wejścia mikrofonowego
  • Obsługa przetwarzania audio offline
  • Kompatybilność międzyplatformowa z obsługą specyficzną dla modelu
  • Obsługa wielu systemów postaci i standardów animacji
  • Elastyczne mapowanie wizemów dla niestandardowych postaci
  • Uniwersalna obsługa języków - działa z dowolnym językiem mówionym poprzez analizę audio
  • Animacja twarzy uwzględniająca nastrój dla zwiększonej ekspresji
  • Konfigurowalne typy wyjścia (pełna twarz lub tylko usta)

Modele synchronizacji warg

Wtyczka oferuje wiele modeli synchronizacji warg, aby sprostać różnym potrzebom projektu:

Standardowy model synchronizacji warg zapewnia wydajną, międzyplatformową wydajność z szeroką kompatybilnością z postaciami:

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

Aby używać Standard Model, musisz zainstalować dodatkową wtyczkę rozszerzającą. Zobacz sekcję Wymagania wstępne w celu uzyskania instrukcji instalacji.

Możesz wybrać odpowiedni model w oparciu o wymagania projektu dotyczące wydajności, kompatybilności z postaciami, jakości wizualnej, docelowej platformy i potrzeb funkcjonalnych.

Jak to działa

Wtyczka przetwarza wejście audio w następujący sposób:

  1. Dane audio są odbierane w formacie PCM typu float z określonymi kanałami i częstotliwością próbkowania
  2. Wtyczka przetwarza audio, aby wygenerować dane kontroli twarzy lub wizemy w zależności od modelu
  3. Dla modeli z obsługą nastroju, kontekst emocjonalny jest stosowany do animacji twarzy
  4. Dane animacji napędzają ruchy twarzy postaci w czasie rzeczywistym

Architektura wydajności

Runtime MetaHuman Lip Sync używa wnioskowania wyłącznie na CPU aby dostarczać spójne, niskopoziomowe wyniki synchronizacji warg odpowiednie dla aplikacji w czasie rzeczywistym. Domyślnie wtyczka wykonuje przetwarzanie synchronizacji warg co 10 milisekund (regulowalne - zobacz Konfiguracja wtyczki dla wszystkich dostępnych ustawień, w tym Rozmiar porcji przetwarzania, liczba wątków i inne parametry wydajności).

Przegląd architektury modelu

Modele synchronizacji warg używają kompaktowej sieci neuronowej opartej na transformatorach, która przetwarza audio poprzez analizę mel-spektrogramu. Ta lekka architektura jest specjalnie zaprojektowana dla wydajności w czasie rzeczywistym z efektywnym wnioskowaniem na CPU i minimalnym śladem pamięci.

Dlaczego wnioskowanie na CPU?

Dla małych, częstych operacji wnioskowania, takich jak synchronizacja warg w czasie rzeczywistym, przetwarzanie na CPU oferuje lepsze charakterystyki opóźnienia niż GPU. Przy rozmiarze wsadu 1 i interwałach wnioskowania 10-100ms, narzut GPU z transferów PCIe i uruchamiania kerneli często przekracza rzeczywisty czas obliczeń. Dodatkowo, w silnikach gier GPU jest już nasycone renderowaniem, shaderami i fizyką, tworząc rywalizację o zasoby, która wprowadza nieprzewidywalne skoki opóźnienia.

Kompatybilność sprzętowa

Wtyczka działa wydajnie na większości średniej i wyższej klasy CPU bez wymagania dedykowanego sprzętu graficznego, zapewniając wydajność w czasie rzeczywistym na platformach desktopowych, mobilnych i VR. Dla słabszego sprzętu możesz dostosować Typ modelu do Semi-Optimized lub Highly Optimized, lub zwiększyć Rozmiar porcji przetwarzania, aby utrzymać wydajność w czasie rzeczywistym przy nieco zmniejszonej responsywności.

Szybki start

Oto podstawowa konfiguracja do włączenia synchronizacji warg na twojej postaci:

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

Dodatkowe zasoby

📦 Pobieranie i linki

Projekty demonstracyjne:

🎥 Samouczki wideo

Polecane dema:

Samouczki Realistic Model (Wysoka jakość):

Samouczki Standard Model:

Konfiguracja ogólna:

💬 Wsparcie

  • Rozwój niestandardowy: [email protected] (dostosowane rozwiązania dla zespołów i organizacji)
Join our Discord
online · support