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 oraz międzyplatformowo zarówno dla postaci MetaHuman, jak i niestandardowych. Pozwala animować usta postaci w odpowiedzi na dane wejściowe audio z różnych źródeł, w tym:

Wtyczka wewnętrznie generuje wizemy (wizualne reprezentacje fonemów) na podstawie danych wejściowych audio. Ponieważ działa bezpośrednio na danych audio, a nie na tekście, 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 warg jest generowana z fonemów audio, a nie z przetwarzania tekstu specyficznego dla języka.

Model Standardowy generuje 14 wizemów i wykonuje animację synchronizacji warg przy użyciu predefiniowanego zasobu poz. Natomiast Modele Realistyczne (dostępne wyłącznie dla postaci MetaHuman) 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 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 niestandardową postacią

Kluczowe funkcje

  • Synchronizacja ruchu warg w czasie rzeczywistym z wejścia mikrofonowego
  • Obsługa przetwarzania audio offline
  • Kompatybilność wieloplatformowa 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 ruchu warg

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

Standardowy model synchronizacji ruchu warg zapewnia wydajną, wieloplatformową 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 na podstawie wymagań twojego projektu dotyczących 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 kontrolne 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 ruchu warg odpowiednie dla aplikacji w czasie rzeczywistym. Domyślnie wtyczka wykonuje przetwarzanie synchronizacji ruchu 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 ruchu 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 ruchu 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 związany z transferami PCIe i uruchamianiem kernelów często przekracza rzeczywisty czas obliczeń. Dodatkowo, w silnikach gier GPU jest już nasycone renderowaniem, shaderami i fizyką, co tworzy rywalizację o zasoby, która wprowadza nieprzewidywalne skoki opóźnienia.

Kompatybilność sprzętowa

Wtyczka działa wydajnie na większości średniej klasy i wyższych 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 umożliwiająca synchronizację ruchu 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 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 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