Przejdź do głównej zawartości

Przegląd

Dokumentacja Runtime MetaHuman Lip Sync

Runtime MetaHuman Lip Sync to wtyczka umożliwiająca animację ruchu warg w czasie rzeczywistym, offline i na wielu platformach, zarówno dla postaci MetaHuman, jak i niestandardowych. Pozwala ona animować usta postaci w odpowiedzi na dźwięk pochodzący 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 dźwiękowych, 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ż animacja warg 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ę ruchu warg przy użyciu predefiniowanego zasobu poz. Natomiast Modele Realistyczne (dostępne wyłącznie dla postaci MetaHuman) generują 81 zmian w sterowaniu mimiką bez polegania na predefiniowanym zasobie poz, co skutkuje znacznie bardziej realistycznymi animacjami twarzy.

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 korzystania z 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 ruchu warg generowanej przez wtyczkę dla różnych typów postaci i modeli:

Realistic Lip Sync Example
Realistyczny model z postacią MetaHuman
Standard Lip Sync Example
Standardowy model z postacią MetaHuman
Custom Character Lip Sync Example
Model standardowy z niestandardową postacią
Custom Character Lip Sync Example
Model standardowy z niestandardową postacią

Kluczowe funkcje

  • Synchronizacja ust 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 lepszej ekspresji
  • Konfigurowalne typy wyjścia (pełna twarz lub tylko usta)

Modele synchronizacji ust

Wtyczka oferuje wiele modeli synchronizacji ust, aby dopasować się do różnych potrzeb projektu:

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

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

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

Możesz wybrać odpowiedni model na podstawie wymagań projektu dotyczących wydajności, kompatybilności postaci, jakości wizualnej, docelowej platformy i potrzeb funkcjonalnych.

Uwaga dotycząca kompatybilności TTS

Podczas gdy wszystkie modele obsługują różne metody wprowadzania audio, regularny model realistyczny ma ograniczoną kompatybilność z lokalnym TTS z powodu konfliktów środowiska wykonawczego ONNX. Model realistyczny z obsługą nastroju jest jednak w pełni kompatybilny z lokalnym TTS. Dla funkcjonalności zamiany tekstu na mowę:

  • Model Standardowy: Kompatybilny ze wszystkimi opcjami TTS (lokalnymi i zewnętrznymi)
  • Model Realistyczny: Zalecane zewnętrzne usługi TTS (OpenAI, ElevenLabs)
  • Model Realistyczny z Obsługą Nastroju: Kompatybilny ze wszystkimi opcjami TTS (lokalnymi i zewnętrznymi)

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 sterowania twarzą 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 sterują ruchami twarzy postaci w czasie rzeczywistym

Architektura wydajności

Runtime MetaHuman Lip Sync wykorzystuje wnioskowanie wyłącznie na CPU do dostarczania spójnych, niskopoziomowych wyników synchronizacji ust odpowiednich dla aplikacji w czasie rzeczywistym. Domyślnie wtyczka wykonuje przetwarzanie synchronizacji ust 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 ust wykorzystują kompaktową sieć neuronową opartą 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 ust w czasie rzeczywistym, przetwarzanie 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 jąder często przekracza rzeczywisty czas obliczeń. Dodatkowo, w silnikach gier GPU jest już nasycone renderowaniem, shaderami i fizyką, co tworzy rywalizację o zasoby wprowadzającą 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 Półoptymalizowanego lub Wysokooptymalizowanego, lub zwiększyć Rozmiar porcji przetwarzania, aby utrzymać wydajność w czasie rzeczywistym przy nieco zmniejszonej responsywności.

Szybki start

Oto podstawowa konfiguracja włączania synchronizacji ust 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 ust
  4. Skonfiguruj przetwarzanie wejścia audio w swoim Blueprint
  5. Podłącz odpowiedni węzeł synchronizacji ust w Animation Blueprint
  6. Odtwórz audio i zobacz, jak twoja postać mówi z emocjami!

Dodatkowe zasoby

📦 Pobieranie i linki

🎥 Samouczki wideo

Polecane demo:

Samouczki modelu realistycznego (wysokiej jakości):

Samouczki modelu standardowego:

Konfiguracja ogólna:

💬 Wsparcie