Przejdź do głównej zawartości

Jak używać wtyczki z niestandardowymi 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 w implementacji 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

Kompatybilność z niestandardowymi postaciami

Niestandardowe 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 niestandardowymi 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 niestandardowymi postaciami, musisz zainstalować wtyczkę rozszerzającą Standard Lip Sync Extension, zgodnie z opisem w sekcji Wymagania wstępne głównego przewodnika konfiguracji.

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

Wymagania wstępne

Przed rozpoczęciem upewnij się, że Twoja postać spełnia te wymagania:

  • Ma prawidłowy szkielet
  • Zawiera morf targety (blend shapes) dla wyrazów twarzy
  • Idealnie ma 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 wizemami wtyczki:

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

Tworzenie niestandardowego zasobu pozy

Wykonaj te kroki, aby utworzyć niestandardowy zasób pozy 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 morfy docelowe (kształty mieszane), które chcesz użyć do animacji synchronizacji warg. Może to być pełny mesh ciała lub tylko mesh twarzy, w zależności od projektu twojej postaci.

2. Zweryfikuj Morfy Docelowe i Krzywe

Przed kontynuowaniem sprawdź, czy twój skeletal mesh ma odpowiednie morfy docelowe i odpowiadające im krzywe do animacji synchronizacji warg.

Sprawdź Morfy Docelowe: Zweryfikuj, czy twój skeletal mesh zawiera morfy docelowe (kształty mieszane), które mogą być używane jako wizemy do animacji synchronizacji warg. Większość postaci z obsługą animacji twarzy powinna mieć jakieś morfy docelowe fonemów/wizemów. Przykład targetów morfowania w postaci

Ważne: Zweryfikuj zakładkę Krzywe 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 targetom morfowania
  3. Jeśli zakładka Curves jest pusta, ale targety morfowania istnieją, ręcznie dodaj nowe krzywe używając dokładnie tych samych nazw co twoje targety morfowania

Uwaga: Ten problem często występuje przy eksportach z Blendera, gdzie targety morfowania importują się pomyślnie, ale krzywe animacji nie są automatycznie tworzone. Bez pasujących krzywych animacja nie wypełni się poprawnie po upieczeniu 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 wraz z targetami morfowania.

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

Wstrzymywanie 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 Pieczenie 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 znajdź 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ą powią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

Należy zauważyć, że powtarzające się mapowania są akceptowalne, 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 animację każdego wizemu na innej klatce
  3. Skonfiguruj dodatkowe krzywe w razie potrzeby (otwarcie 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 dźwięku i mieszania

Gdy zasób poz jest gotowy, musisz skonfigurować węzły obsługi dźwięku i mieszania:

  1. Znajdź 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 swój niestandardowy zasób poz zamiast domyślnego zasobu poz MetaHuman

Wybór niestandardowego zasobu poz

Łączenie z animacjami ciała

Jeśli chcesz wykonywać synchronizację ust wraz 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 podałeś poprawne nazwy kości dla szkieletu szyi swojej postaci zamiast używania 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 z odrębnymi systemami wizemów.