So verwenden Sie das Plugin mit benutzerdefinierten Charakteren
Diese Anleitung führt Sie durch den Prozess der Einrichtung von Runtime MetaHuman Lip Sync für Nicht-MetaHuman-Charaktere. Dieser Prozess erfordert Vertrautheit mit Animationskonzepten und Rigging. Wenn Sie Unterstützung bei der Implementierung für Ihren spezifischen Charakter benötigen, können Sie unter [email protected] professionelle Unterstützung anfordern.
Wichtiger Hinweis zu Lip Sync-Modellen
Benutzerdefinierte Charaktere werden nur mit dem Standard (Schnelleres) Modell unterstützt.
Das Realistische (Höhere Qualität) Modell ist ausschließlich für MetaHuman-Charaktere konzipiert und kann nicht mit benutzerdefinierten Charakteren verwendet werden. Befolgen Sie in dieser Anleitung stets die Anweisungen für das Standardmodell aus der Haupt-Setup-Anleitung, wenn darauf verwiesen wird.
Erforderliches Erweiterungs-Plugin: Um das Standardmodell mit benutzerdefinierten Charakteren zu verwenden, müssen Sie das Standard Lip Sync Extension Plugin installieren, wie im Abschnitt Voraussetzungen der Haupt-Setup-Anleitung beschrieben.
Diese Erweiterung ist für alle in dieser Anleitung beschriebenen Implementierungen mit benutzerdefinierten Charakteren erforderlich.
Voraussetzungen
Stellen Sie vor dem Start sicher, dass Ihr Charakter diese Anforderungen erfüllt:
- Verfügt über ein gültiges Skelett
- Enthält Morph-Ziele (Blend Shapes) für Gesichtsausdrücke
- Idealerweise verfügt über 10+ Morph-Ziele, die Viseme definieren (mehr Viseme = bessere Lip-Sync-Qualität)
Das Plugin erfordert die Zuordnung der Morph-Ziele Ihres Charakters zu den folgenden Standard-Visemen:
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)
Hinweis: Wenn dein Charakter einen anderen Satz an Visemen hat (was wahrscheinlich ist), benötigst du keine exakten Übereinstimmungen für jedes Visem. Annäherungen sind oft ausreichend – zum Beispiel würde das Zuordnen des SH
-Visems deines Charakters zum CH
-Visem des Plugins effektiv funktionieren, da es sich um eng verwandte postalveolare Laute handelt.
Visem-Zuordnungsreferenz
Hier sind Zuordnungen zwischen gängigen Visem-Systemen und den vom Plugin benötigten Visemen:
- Apple ARKit
- FACS-basierte Systeme
- Preston Blair System
- 3ds Max Phoneme System
- Custom Characters (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit bietet einen umfassenden Satz an Blendshapes für Gesichtsanimationen, einschließlich mehrerer Mundformen. So ordnest du sie den RuntimeMetaHumanLipSync-Visemen zu:
RuntimeMetaHumanLipSync Viseme | ARKit-Äquivalent | Anmerkungen |
---|---|---|
Sil | mouthClose | Die neutrale/Ruheposition |
PP | mouthPressLeft + mouthPressRight | Für bilabiale Laute, verwende beide Press-Shapes zusammen |
FF | lowerLipBiteLeft + lowerLipBiteRight (oder mouthRollLower) | Unterlippe berührt obere Zähne, wie bei "f" und "v" Lauten |
TH | tongueOut | ARKit bietet direkte Zungenkontrolle |
DD | jawOpen (leicht) + tongueUp (falls Zungen-Rig vorhanden) | Zunge berührt den Alveolarrand; leichte Kieferöffnung |
KK | mouthLeft oder mouthRight (leicht) | Subtiles Mundwinkelziehen nähert velare Laute an |
CH | jawOpen (leicht) + mouthFunnel (leicht) | Kombiniere für postalveolare Laute |
SS | mouthFrown | Verwende ein leichtes Stirnrunzeln für Zischlaute |
NN | jawOpen (sehr leicht) + mouthClose | Fast geschlossener Mund mit leichter Kieferöffnung |
RR | mouthPucker (leicht) | Subtile Rundung für R-Laute |
AA | jawOpen + mouthStretchLeft + mouthStretchRight (oder jawOpen + mouthOpen) | Weit geöffneter Mund für "ah"-Laut |
E | jawOpen (leicht) + mouthSmile | Mittel-offene Position mit leichtem Lächeln |
IH | mouthSmile (leicht) | Leichtes Spreizen der Lippen |
OH | mouthFunnel | Gerundete, offene Form |
OU | mouthPucker | Eng gerundete Lippen |
FACS (Facial Action Coding System) verwendet Action Units (AUs), um Gesichtsbewegungen zu beschreiben. Viele professionelle Animationssysteme verwenden FACS-basierte Ansätze:
RuntimeMetaHumanLipSync Viseme | FACS Action Units | Anmerkungen |
---|---|---|
Sil | Neutral | Keine aktiven AUs |
PP | AU23 + AU24 | Lippenpresser + Lippenstraffer |
FF | AU22 + AU28 | Lippentrichter + Lippensauger |
TH | AU25 (leicht) + AU27 | Lippen auseinander + Munddehner |
DD | AU25 + AU16 | Lippen auseinander + Unterlippensenker |
KK | AU26 + AU14 | Kieferöffner + Grübchenbildner |
CH | AU18 + AU25 | Lippenspitzen + Lippen auseinander |
SS | AU20 | Lippenstrecker |
NN | AU25 (sehr leicht) | Leicht geöffnete Lippen |
RR | AU18 (leicht) | Leichter Lippenspitzen |
AA | AU27 + AU26 | Munddehner + Kieferöffner |
E | AU25 + AU12 | Lippen auseinander + Lippenwinkelheber |
IH | AU12 + AU25 (leicht) | Lippenwinkelheber + leicht geöffnete Lippen |
OH | AU27 (leicht) + AU18 | Leichter Munddehner + Lippenspitzen |
OU | AU18 + AU26 (leicht) | Lippenspitzen + leichte Kieferöffnung |
Das Preston-Blair-System ist ein klassischer Animationsstandard, der beschreibende Namen für Mundformen verwendet:
RuntimeMetaHumanLipSync Viseme | Preston Blair | Notizen |
---|---|---|
Sil | Rest | Neutrale geschlossene Mundposition |
PP | MBP | Die klassische "MBP"-Mundform |
FF | FV | Die "FV"-Position mit Zähnen auf der Unterlippe |
TH | TH | Zunge berührt Vorderzähne |
DD | D/T/N | Ähnliche Position für diese Konsonanten |
KK | CKG | Harte Konsonantenposition |
CH | CH/J/SH | Leichter Schmollmund für diese Laute |
SS | S/Z | Leicht geöffnete Zahnposition |
NN | N/NG/L | Ähnlich wie D/T, aber andere Zungenposition |
RR | R | Gerundete Lippen für den R-Laut |
AA | AI | Weit geöffneter Mund |
E | EH | Mittelweit geöffneter Mund |
IH | EE | Gespreizte Lippen |
OH | OH | Gerundete mittlere Öffnung |
OU | OO | Eng gerundete Lippen |
3ds Max verwendet ein phonembasiertes System für sein Character Studio:
RuntimeMetaHumanLipSync Viseme | 3ds Max Phonem | Notizen |
---|---|---|
Sil | rest | Standard-Mundposition |
PP | p_b_m | Direktes Äquivalent |
FF | f_v | Direktes Äquivalent |
TH | th | Direktes Äquivalent |
DD | t_d | Direktes Äquivalent |
KK | k_g | Direktes Äquivalent |
CH | sh_zh_ch | Kombinierte Form |
SS | s_z | Direktes Äquivalent |
NN | n_l | Kombiniert für diese Laute |
RR | r | Direktes Äquivalent |
AA | ah | Offener Vokallaut |
E | eh | Mittlerer Vokal |
IH | ee | Geschlossener Vorderzungenvokal |
OH | oh | Hinterer gerundeter Vokal |
OU | oo | Geschlossener Hinterzungenvokal |
Benutzerdefinierte Charaktere mit Visemen oder Mund-Blend Shapes/Morph Targets (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc.) können typischerweise mit angemessenen Annäherungen auf das Visem-System des Plugins abgebildet werden.
Erstellen eines benutzerdefinierten Pose-Assets
Befolgen Sie diese Schritte, um ein benutzerdefiniertes Pose-Asset für Ihren Charakter zu erstellen, das mit dem Blend Runtime MetaHuman Lip Sync
-Node verwendet wird:
1. Suchen Sie das Skeletal Mesh Ihres Charakters
Finden Sie das Skeletal Mesh, das die Morph Targets (Blend Shapes) enthält, die Sie für die Lip-Sync-Animation verwenden möchten. Dies könnte ein Ganzkörper-Mesh oder nur ein Gesichts-Mesh sein, abhängig vom Design Ihres Charakters.
2. Überprüfen Sie Morph Targets und Kurven
Überprüfen Sie vor dem Fortfahren, ob Ihr Skeletal Mesh geeignete Morph Targets und entsprechende Kurven für die Lip-Sync-Animation besitzt.
Morph Targets überprüfen:
Stellen Sie sicher, dass Ihr Skeletal Mesh Morph Targets (Blend Shapes) enthält, die als Viseme für die Lip-Sync-Animation verwendet werden können. Die meisten Charaktere mit Gesichtsanimationsunterstützung sollten einige Phonem-/Visem-Morph Targets besitzen.
Wichtig: Überprüfen Sie den Curves-Tab Dieser Schritt ist besonders entscheidend für Charaktere, die aus Blender oder anderer externer Software exportiert wurden:
- Öffnen Sie den Curves-Tab im Skeletal Mesh-Editor
- Prüfen Sie, ob Sie Kurven sehen, die Ihren Morph-Targets entsprechen
- Wenn der Curves-Tab leer ist, aber Morph-Targets existieren, fügen Sie manuell neue Kurven hinzu, indem Sie exakt dieselben Namen wie bei Ihren Morph-Targets verwenden
Hinweis: Dieses Problem tritt häufig bei Blender-Exporten auf, bei denen Morph-Targets erfolgreich importiert werden, aber Animationskurven nicht automatisch erstellt werden. Ohne übereinstimmende Kurven wird die Animation nach dem Backen zum Control Rig nicht korrekt befüllt.
Alternative Lösung: Um dieses Problem beim Export aus Blender zu verhindern, versuchen Sie, Custom Properties und Animation in Ihren FBX-Exporteinstellungen zu aktivieren, was dazu beitragen kann, Animationskurven zusammen mit den Morph-Targets einzubeziehen.
3. Erstellen Sie eine Referenz-Pose-Animation
- Gehen Sie zu
Create Asset -> Create Animation -> Reference Pose
- Geben Sie einen beschreibenden Namen für die Animationssequenz ein und speichern Sie sie an einem geeigneten Ort
- Die erstellte Animationssequenz öffnet sich automatisch und zeigt eine leere Animation in einer Schleife an
- Klicken Sie auf die
Pause
-Schaltfläche, um die Wiedergabe der Animation für einfacheres Bearbeiten zu stoppen
4. Bearbeiten Sie die Animationssequenz
- Klicken Sie auf
Edit in Sequencer
->Edit with FK Control Rig
- Klicken Sie im
Bake to Control Rig
-Dialog auf dieBake to Control Rig
-Schaltfläche, ohne Einstellungen zu ändern
- Der Editor wechselt in den
Animation Mode
mit geöffnetemSequencer
-Tab - Setzen Sie die
View Range End Time
auf 0016 (was automatisch auchWorking Range End
auf 0016 setzt) - Ziehen Sie den rechten Rand des Schiebereglers an das rechte Ende des Sequencer-Fensters
5. Animation Curves vorbereiten
- Kehren Sie zum Animation Sequence Asset zurück und lokalisieren Sie die Morph Targets in der
Curves
-Liste (falls sie nicht sichtbar sind, schließen und öffnen Sie das Animation Sequence Asset erneut) - Entfernen Sie alle Morph Targets, die nicht mit Visemen oder Mundbewegungen zusammenhängen, die Sie für Lip Sync verwenden möchten
6. Planen Sie Ihre Visem-Zuordnung
Erstellen Sie einen Zuordnungsplan, um die Viseme Ihres Charakters mit dem erforderlichen Set des Plugins abzugleichen. Zum Beispiel:
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
Beachten Sie, dass es akzeptabel ist, wiederholte Mappings zu haben, wenn der Visem-Satz Ihres Charakters keine exakten Entsprechungen für jedes benötigte Visem hat.
7. Animieren Sie jedes Visem
- Animieren Sie für jedes Visem die relevanten Morph-Ziel-Kurven von 0.0 bis 1.0
- Starten Sie jede Visem-Animation auf einem anderen Frame
- Konfigurieren Sie bei Bedarf zusätzliche Kurven (Kiefer-/Mundöffnung, Zungenposition usw.), um natürlich aussehende Visem-Formen zu erstellen
8. Erstellen Sie eine Pose-Asset
- Gehen Sie zu
Create Asset
->Pose Asset
->Current Animation
- Geben Sie einen beschreibenden Namen für das Pose-Asset ein und speichern Sie es an einem geeigneten Ort
- Das erstellte Pose-Asset öffnet sich automatisch und zeigt Posen wie
Pose_0
,Pose_1
usw. an, die jeweils einem Visem entsprechen - Vorschau der Visem-Gewichtungen, um sicherzustellen, dass sie wie erwartet funktionieren
9. Finalisieren Sie das Pose-Asset
- Benennen Sie jede Pose um, damit sie mit den Visem-Namen aus dem Abschnitt Voraussetzungen übereinstimmt
- Löschen Sie alle nicht verwendeten Posen
Einrichten der Audioverarbeitung und -blending
Sobald Ihr Pose-Asset bereit ist, müssen Sie die Audioverarbeitungs- und Blending-Knoten einrichten:
- Suchen oder erstellen Sie das Animation Blueprint Ihres Charakters
- Richten Sie die Audioverarbeitung und das Blending gemäß den gleichen Schritten wie in der standardmäßigen Plugin-Setup-Anleitung dokumentiert ein
- Wählen Sie im
Blend Runtime MetaHuman Lip Sync
-Knoten Ihr benutzerdefiniertes Pose-Asset anstelle des standardmäßigen MetaHuman-Pose-Assets aus
Kombination mit Körperanimationen
Wenn Sie Lip Sync zusammen mit anderen Körperanimationen durchführen möchten:
- Befolgen Sie die gleichen Schritte wie in der standardmäßigen Plugin-Anleitung dokumentiert
- Stellen Sie sicher, dass Sie die korrekten Bone-Namen für das Neck-Skelett Ihres Charakters angeben, anstatt die MetaHuman-Bone-Namen zu verwenden
Ergebnisse
Hier sind Beispiele für benutzerdefinierte Charaktere, die dieses Setup verwenden:
Die Qualität des Lip Sync hängt weitgehend vom spezifischen Charakter und davon ab, wie gut seine Viseme eingerichtet sind. Die obigen Beispiele demonstrieren das Plugin, das mit verschiedenen Arten von benutzerdefinierten Charakteren mit unterschiedlichen Visem-Systemen arbeitet.