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 Hilfe 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 Standard-Modell aus dem Haupt-Setup-Leitfaden, wenn darauf verwiesen wird.
Erforderliches Erweiterungs-Plugin: Um das Standard-Modell mit benutzerdefinierten Charakteren zu verwenden, müssen Sie das Standard Lip Sync Extension Plugin installieren, wie im Abschnitt Voraussetzungen des Haupt-Setup-Leitfadens beschrieben.
Diese Erweiterung ist für alle in dieser Anleitung beschriebenen Implementierungen benutzerdefinierter Charaktere erforderlich.
Voraussetzungen
Stellen Sie vor Beginn 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 die 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 die Gesichtsanimation, einschließlich mehrerer Mundformen. So ordnest du sie den RuntimeMetaHumanLipSync-Visemen zu:
RuntimeMetaHumanLipSync Viseme | ARKit-Äquivalent | Notizen |
---|---|---|
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 Alveolarkamm; leichte Kieferöffnung |
KK | mouthLeft oder mouthRight (leicht) | Subtiles Ziehen der Mundwinkel 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 | Notizen |
---|---|---|
Sil | Neutral | Keine aktiven AUs |
PP | AU23 + AU24 | Lippenpresser + Lippenstraffer |
FF | AU22 + AU28 | Lippentrichter + Lippensauger |
TH | AU25 (leicht) + AU27 | Lippen auseinander + Munddehnung |
DD | AU25 + AU16 | Lippen auseinander + Unterlippensenker |
KK | AU26 + AU14 | Kieferöffnung + Grübchenbildner |
CH | AU18 + AU25 | Lippenspitzenvorstülper + Lippen auseinander |
SS | AU20 | Lippenstrecker |
NN | AU25 (sehr leicht) | Leicht geöffnete Lippen |
RR | AU18 (leicht) | Leichter Lippenspitzenvorstülper |
AA | AU27 + AU26 | Munddehnung + Kieferöffnung |
E | AU25 + AU12 | Lippen auseinander + Lippenwinkelheber |
IH | AU12 + AU25 (leicht) | Lippenwinkelheber + leicht geöffnete Lippen |
OH | AU27 (leicht) + AU18 | Leichte Munddehnung + Lippenspitzenvorstülper |
OU | AU18 + AU26 (leicht) | Lippenspitzenvorstülper + 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 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 Phoneme | 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 vorderer Vokal |
OH | oh | Hinterer gerundeter Vokal |
OU | oo | Geschlossener hinterer Vokal |
Benutzerdefinierte Charaktere mit Visemen- oder Mund-Blend Shapes/Morph Targets (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc.) können in der Regel mit angemessenen Annäherungen auf das Visemen-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 hat.
Morph Targets überprüfen:
Stellen Sie sicher, dass Ihr Skeletal Mesh Morph Targets (Blend Shapes) enthält, die als Visemen für die Lip-Sync-Animation verwendet werden können. Die meisten Charaktere mit Gesichtsanimation sollten einige Phonem-/Visemen-Morph Targets haben.
Wichtig: Überprüfen Sie den Kurven-Tab Dieser Schritt ist besonders entscheidend für Charaktere, die aus Blender oder anderen externen Software exportiert wurden:
- Öffnen Sie den Kurven-Tab im Skeletal Mesh-Editor
- Prüfen Sie, ob Sie Kurven sehen können, die Ihren Morph-Zielen entsprechen
- Wenn der Kurven-Tab leer ist, aber Morph-Ziele existieren, fügen Sie manuell neue Kurven hinzu, indem Sie exakt die gleichen Namen wie Ihre Morph-Ziele verwenden
Hinweis: Dieses Problem tritt häufig bei Blender-Exporten auf, bei denen Morph-Ziele erfolgreich importiert werden, aber Animationskurven nicht automatisch erstellt werden. Ohne übereinstimmende Kurven wird die Animation nach dem Backen auf Control Rig nicht korrekt befüllt.
Alternative Lösung: Um dieses Problem beim Export aus Blender zu verhindern, versuchen Sie, Benutzerdefinierte Eigenschaften und Animation in Ihren FBX-Exporteinstellungen zu aktivieren, was dazu beitragen kann, Animationskurven zusammen mit den Morph-Zielen einzubeziehen.
3. Erstellen Sie eine Referenz-Pose-Animation
- Gehen Sie zu
Asset erstellen -> Animation erstellen -> Referenz-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
-Taste, um die Wiedergabe der Animation für eine einfachere Bearbeitung zu stoppen
4. Bearbeiten Sie die Animationssequenz
- Klicken Sie auf
In Sequencer bearbeiten
->Mit FK Control Rig bearbeiten
- Klicken Sie im
Auf Control Rig backen
-Dialog auf dieAuf Control Rig backen
-Schaltfläche, ohne Einstellungen zu ändern
- Der Editor wechselt in den
Animation-Modus
mit geöffnetemSequencer
-Tab - Setzen Sie die
Ansichtsbereich-Endzeit
auf 0016 (was automatisch auch dieArbeitsbereich-Endzeit
auf 0016 setzt) - Ziehen Sie den rechten Rand des Schiebereglers an das rechte Ende des Sequencer-Fensters
5. Bereiten Sie die Animationskurven vor
- Kehren Sie zur Animation Sequence-Asset zurück und suchen Sie die Morph-Ziele in der
Curves
-Liste (falls sie nicht sichtbar sind, schließen und öffnen Sie die Animation Sequence-Asset erneut) - Entfernen Sie alle Morph-Ziele, 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 nicht für jedes benötigte Visem exakte Entsprechungen 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, etc.), um natürlich aussehende Visem-Formen zu erstellen
8. Erstellen Sie einen Pose-Asset
- Gehen Sie zu
Create Asset
->Pose Asset
->Current Animation
- Geben Sie einen beschreibenden Namen für den Pose-Asset ein und speichern Sie ihn an einem geeigneten Ort
- Der 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 den 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 Sie das Animation Blueprint Ihres Charakters oder erstellen Sie es
- Richten Sie die Audioverarbeitung und das Blending gemäß den gleichen Schritten ein, die im Standard-Plugin-Setup-Leitfaden dokumentiert sind
- 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 im Standard-Plugin-Leitfaden dokumentiert
- Stellen Sie sicher, dass Sie die korrekten Bone-Namen für das Hals-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.