Przejdź do głównej zawartości

Jak używać wtyczki z własnymi postaciami

Ten przewodnik przeprowadzi Cię przez proces konfiguracji Runtime MetaHuman Lip Sync dla postaci innych niż MetaHuman. Ten proces wymaga znajomości koncepcji animacji i rigowania. Jeśli potrzebujesz pomocy we wdrożeniu tego dla swojej konkretnej postaci, możesz skontaktować się w celu uzyskania profesjonalnego wsparcia pod adresem [email protected].

Ważna uwaga dotycząca modeli synchronizacji ust

Zgodność z własnymi postaciami

Własne postacie są obsługiwane tylko z modelem Standardowym (Szybszym).

Model Realistyczny (Wyższa Jakość) jest zaprojektowany wyłącznie dla postaci MetaHuman i nie może być używany z własnymi postaciami. W całym tym przewodniku należy postępować zgodnie z instrukcjami dla modelu Standardowego z głównego przewodnika konfiguracji, gdy są przywoływane.

Wymagana wtyczka rozszerzająca: Aby używać modelu Standardowego z własnymi postaciami, musisz zainstalować wtyczkę rozszerzającą Standard Lip Sync Extension, jak opisano w sekcji Wymagania wstępne głównego przewodnika konfiguracji.

To rozszerzenie jest wymagane dla wszystkich implementacji własnych postaci opisanych w tym przewodniku.

Wymagania wstępne

Zanim zaczniesz, upewnij się, że twoja postać spełnia te wymagania:

  • Posiada prawidłowy szkielet
  • Zawiera morf targety (blend shapes) dla wyrażeń twarzy
  • Idealnie posiada 10+ morf targetów definiujących wizemy (więcej wizemów = lepsza jakość synchronizacji ust)

Wtyczka wymaga mapowania morf targetów twojej postaci na następujące standardowe wizemy:

Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)

Uwaga: Jeśli twoja postać ma inny zestaw wizemów (co jest prawdopodobne), nie potrzebujesz dokładnych dopasowań dla każdego wizemu. Aproksymacje są często wystarczające — na przykład, mapowanie wizemu SH twojej postaci na wizem CH wtyczki zadziała skutecznie, ponieważ są to blisko spokrewnione dźwięki zadziąsłowe.

Referencja mapowania wizemów

Oto mapowania pomiędzy powszechnymi systemami wizemów a wymaganymi przez wtyczkę wizemami:

ARKit zapewnia kompleksowy zestaw blendshapes do animacji twarzy, w tym kilka kształtów ust. Oto jak mapować je na wizemy RuntimeMetaHumanLipSync:

Wizem RuntimeMetaHumanLipSyncOdpowiednik ARKitUwagi
SilmouthClosePozycja neutralna/spoczynkowa
PPmouthPressLeft + mouthPressRightDla dźwięków dwuwargowych, użyj obu kształtów press razem
FFlowerLipBiteLeft + lowerLipBiteRight (lub mouthRollLower)Dolna warga styka się z górnymi zębami, jak w dźwiękach "f" i "w"
THtongueOutARKit ma bezpośrednią kontrolę języka
DDjawOpen (lekko) + tongueUp (jeśli masz rig języka)Język dotyka wału dziąsłowego; lekkie opuszczenie żuchwy
KKmouthLeft lub mouthRight (lekko)Delikatne pociągnięcie kącików ust przybliża dźwięki welarne
CHjawOpen (lekko) + mouthFunnel (lekko)Połącz dla dźwięków zadziąsłowych
SSmouthFrownUżyj lekkiego zmarszczenia dla sybilantów
NNjawOpen (bardzo lekko) + mouthClosePrawie zamknięte usta z lekkim otwarciem żuchwy
RRmouthPucker (lekko)Delikatne zaokrąglenie dla dźwięków r
AAjawOpen + mouthStretchLeft + mouthStretchRight (lub jawOpen + mouthOpen)Szeroko otwarte usta dla dźwięku "a"
EjawOpen (lekko) + mouthSmilePozycja średnio otwarta z lekkim uśmiechem
IHmouthSmile (lekko)Lekkie rozciągnięcie warg
OHmouthFunnelZaokrąglony, otwarty kształt
OUmouthPuckerCiasno zaokrąglone wargi

Tworzenie niestandardowego zasobu poz (Pose Asset)

Wykonaj następujące kroki, aby utworzyć niestandardowy zasób poz dla swojej postaci, który będzie używany z węzłem Blend Runtime MetaHuman Lip Sync:

1. Zlokalizuj Skeletal Mesh swojej postaci

Znajdź skeletal mesh, który zawiera morph targety (blend shapes), które chcesz użyć do animacji synchronizacji ust. Może to być pełna siatka ciała lub tylko siatka twarzy, w zależności od projektu twojej postaci.

2. Zweryfikuj Morph Targety i Krzywe

Przed kontynuacją sprawdź, czy twój skeletal mesh ma odpowiednie morph targety i odpowiadające im krzywe do animacji synchronizacji ust.

Sprawdź Morph Targety: Zweryfikuj, czy twój skeletal mesh zawiera morph targety (blend shapes), które mogą być użyte jako wizemy do animacji synchronizacji ust. Większość postaci z obsługą animacji twarzy powinna mieć jakieś morph targety fonemów/wizemów. Przykład morph targets w postaci

Ważne: Zweryfikuj zakładkę Curves Ten krok jest szczególnie kluczowy dla postaci eksportowanych z Blendera lub innego zewnętrznego oprogramowania:

  1. Otwórz zakładkę Curves w edytorze Skeletal Mesh
  2. Sprawdź, czy widzisz krzywe odpowiadające twoim morph targets
  3. Jeśli zakładka Curves jest pusta, ale morph targets istnieją, ręcznie dodaj nowe krzywe używając dokładnie tych samych nazw co twoje morph targets

Uwaga: Ten problem często występuje przy eksportach z Blendera, gdzie morph targets importują się pomyślnie, ale krzywe animacji nie są tworzone automatycznie. Bez pasujących krzywych animacja nie wypełni się poprawnie po bake do Control Rig.

Alternatywne rozwiązanie: Aby zapobiec temu problemowi podczas eksportu z Blendera, spróbuj włączyć Custom Properties i Animation w ustawieniach eksportu FBX, co może pomóc w dołączeniu krzywych animacji razem z morph targets.

3. Utwórz animację pozy referencyjnej

  1. Przejdź do Create Asset -> Create Animation -> Reference Pose
  2. Wpisz opisową nazwę dla sekwencji animacji i zapisz ją w odpowiedniej lokalizacji
  3. Utworzona Animation Sequence otworzy się automatycznie, pokazując pustą animację odtwarzaną w pętli

Tworzenie zasobu pozy referencyjnej Nazywanie zasobu pozy referencyjnej

  1. Kliknij przycisk Pause, aby zatrzymać odtwarzanie animacji dla łatwiejszej edycji

Wstrzymanie odtwarzania animacji

4. Edytuj sekwencję animacji

  1. Kliknij Edit in Sequencer -> Edit with FK Control Rig
  2. W oknie dialogowym Bake to Control Rig kliknij przycisk Bake to Control Rig bez zmiany jakichkolwiek ustawień

Edycja z FK Control Rig Bake do Control Rig

  1. Edytor przełączy się w tryb Animation Mode z otwartą zakładką Sequencer
  2. Ustaw View Range End Time na 0016 (co automatycznie ustawi również Working Range End na 0016)
  3. Przeciągnij prawą krawędź suwaka na prawy koniec okna sekwencera

5. Przygotuj krzywe animacji

  1. Wróć do zasobu Animation Sequence i zlokalizuj morph targets na liście Curves (jeśli nie są widoczne, zamknij i ponownie otwórz zasób Animation Sequence)
  2. Usuń wszystkie morph targets, które nie są związane z wizemami lub ruchami ust, których chcesz użyć do synchronizacji ust (Lip Sync)

6. Zaplanuj mapowanie wizemów

Utwórz plan mapowania, aby dopasować wizemy twojej postaci do wymaganego zestawu wtyczki. Na przykład:

Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U

Zauważ, że dopuszczalne jest posiadanie powtarzających się mapowań, gdy zestaw wizemów twojej postaci nie ma dokładnych dopasowań dla każdego wymaganego wizemu.

7. Animuj każdy wizem

  1. Dla każdego wizemu animuj odpowiednie krzywe celów morfowania od 0.0 do 1.0
  2. Rozpocznij każdą animację wizemu na innej klatce
  3. Skonfiguruj dodatkowe krzywe w razie potrzeby (otwieranie szczęki/ust, pozycja języka, itp.), aby stworzyć naturalnie wyglądające kształty wizemów

8. Utwórz Zasób Pozy

  1. Przejdź do Utwórz Zasób -> Zasób Pozy -> Bieżąca Animacja
  2. Wpisz opisową nazwę dla Zasobu Pozy i zapisz go w odpowiedniej lokalizacji
  3. Utworzony Zasób Pozy otworzy się automatycznie, pokazując pozy takie jak Pose_0, Pose_1, itd., każda odpowiadająca wizemowi
  4. Przejrzyj wagi wizemów, aby upewnić się, że działają zgodnie z oczekiwaniami

Tworzenie zasobu pozy Nazywanie zasobu pozy Zasób pozy z wizemami

9. Sfinalizuj Zasób Pozy

  1. Zmień nazwę każdej pozy, aby pasowała do nazw wizemów z sekcji Wymagania wstępne
  2. Usuń wszystkie nieużywane pozy

Konfiguracja obsługi i mieszania dźwięku

Gdy twoja zasada pozów (Pose Asset) jest gotowa, musisz skonfigurować węzły obsługi dźwięku i mieszania:

  1. Zlokalizuj lub utwórz Animation Blueprint swojej postaci
  2. Skonfiguruj obsługę dźwięku i mieszanie, postępując zgodnie z tymi samymi krokami, które są udokumentowane w standardowym przewodniku konfiguracji wtyczki
  3. W węźle Blend Runtime MetaHuman Lip Sync wybierz swoją własną Pose Asset zamiast domyślnej Pose Asset MetaHuman

Wybór własnej zasady pozów

Łączenie z animacjami ciała

Jeśli chcesz wykonywać synchronizację ust (Lip Sync) równolegle z innymi animacjami ciała:

  1. Postępuj zgodnie z tymi samymi krokami, które są udokumentowane w standardowym przewodniku wtyczki
  2. Upewnij się, że podajesz poprawne nazwy kości dla szkieletu szyi twojej postaci, zamiast używać nazw kości MetaHuman

Wyniki

Oto przykłady niestandardowych postaci korzystających z tej konfiguracji:

Przykład 1: Synchronizacja ust z niestandardową postacią

Przykład 2: Synchronizacja ust z innym systemem wizemów

Przykład 3: Synchronizacja ust z innym systemem wizemów

Jakość synchronizacji ust w dużej mierze zależy od konkretnej postaci i tego, jak dobrze skonfigurowane są jej wizemy. Powyższe przykłady demonstrują działanie wtyczki z różnymi typami niestandardowych postaci, posiadających odrębne systemy wizemów.