Zum Hauptinhalt springen

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 Lippen-Sync-Modellen

Kompatibilität mit benutzerdefinierten Charakteren

Benutzerdefinierte Charaktere werden nur mit dem Standard (Schnelleres) Modell unterstützt.

Das Realistische (Höhere Qualität) Modell ist für MetaHuman- und ARKit-Charaktere konzipiert und kann nicht mit anderen benutzerdefinierten Charakteren verwendet werden. In dieser Anleitung sollten Sie, wenn darauf verwiesen wird, den Standard-Modell-Anweisungen aus der Haupt-Setup-Anleitung folgen.

Erforderliches Erweiterungs-Plugin: Um das Standard-Modell mit benutzerdefinierten Charakteren zu verwenden, müssen Sie das Standard Lip Sync Extension plugin installieren, wie im Voraussetzungen-Abschnitt der Haupt-Setup-Anleitung beschrieben.

Diese Erweiterung ist für alle in dieser Anleitung beschriebenen Implementierungen benutzerdefinierter Charaktere 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 Lippen-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 Ihr Charakter einen anderen Satz von Visemen hat (was wahrscheinlich ist), benötigen Sie keine exakten Übereinstimmungen für jedes Visem. Annäherungen sind oft ausreichend – zum Beispiel würde die Zuordnung des SH-Visems Ihres 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:

ARKit bietet einen umfassenden Satz von Blendshapes für die Gesichtsanimation, einschließlich mehrerer Mundformen. So ordnen Sie sie den RuntimeMetaHumanLipSync-Visemen zu:

RuntimeMetaHumanLipSync VisemeARKit-ÄquivalentHinweise
SilmouthCloseDie neutrale/Ruheposition
PPmouthPressLeft + mouthPressRightFür bilabiale Laute, verwenden Sie beide Press-Shapes zusammen
FFlowerLipBiteLeft + lowerLipBiteRight (oder mouthRollLower)Unterlippe berührt obere Zähne, wie bei "f" und "v" Lauten
THtongueOutARKit bietet direkte Zungensteuerung
DDjawOpen (leicht) + tongueUp (falls Sie eine Zungen-Rig haben)Zunge berührt den Alveolarkamm; leichte Kieferöffnung
KKmouthLeft oder mouthRight (leicht)Subtiles Mundwinkelziehen nähert velare Laute an
CHjawOpen (leicht) + mouthFunnel (leicht)Kombinieren für postalveolare Laute
SSmouthFrownVerwenden Sie ein leichtes Stirnrunzeln für Zischlaute
NNjawOpen (sehr leicht) + mouthCloseFast geschlossener Mund mit leichter Kieferöffnung
RRmouthPucker (leicht)Subtile Rundung für R-Laute
AAjawOpen + mouthStretchLeft + mouthStretchRight (oder jawOpen + mouthOpen)Weit geöffneter Mund für "ah"-Laut
EjawOpen (leicht) + mouthSmileMittel-offene Position mit leichtem Lächeln
IHmouthSmile (leicht)Leichtes Spreizen der Lippen
OHmouthFunnelGerundete, offene Form
OUmouthPuckerEng gerundete Lippen

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-Knoten 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 Lippen-Synchronisations-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 Lippen-Synchronisations-Animation hat.

Morph Targets überprüfen: Stellen Sie sicher, dass Ihr Skeletal Mesh Morph Targets (Blend Shapes) enthält, die als Viseme für die Lippen-Synchronisations-Animation verwendet werden können. Die meisten Charaktere mit Gesichtsanimation sollten einige Phonem-/Visem-Morph Targets haben.

Beispiel für Morph Targets in einem Charakter

Wichtig: Überprüfen Sie den Kurven-Tab Dieser Schritt ist besonders wichtig für Charaktere, die aus Blender oder anderer externer Software exportiert wurden:

  1. Öffnen Sie den Kurven-Tab im Skeletal Mesh-Editor
  2. Prüfen Sie, ob Sie Kurven sehen können, die Ihren Morph Targets entsprechen
  3. Wenn der Kurven-Tab leer ist, aber Morph Targets existieren, fügen Sie manuell neue Kurven hinzu, indem Sie exakt die gleichen Namen wie Ihre 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 passende 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 vermeiden, versuchen Sie, Benutzerdefinierte Eigenschaften und Animation in Ihren FBX-Exporteinstellungen zu aktivieren, was helfen kann, Animationskurven zusammen mit den Morph Targets einzubeziehen.

3. Erstellen Sie eine Referenz-Pose-Animation

  1. Gehen Sie zu Create Asset -> Create Animation -> Reference Pose
  2. Geben Sie einen beschreibenden Namen für die Animationssequenz ein und speichern Sie sie an einem geeigneten Ort
  3. Die erstellte Animationssequenz öffnet sich automatisch und zeigt eine leere Animation in einer Schleife

Erstellen eines Referenz-Pose-Assets Benennen des Referenz-Pose-Assets

  1. Klicken Sie auf die Pause-Schaltfläche, um die Wiedergabe der Animation für einfacheres Bearbeiten zu stoppen

Pausieren der Animationswiedergabe

4. Bearbeiten Sie die Animationssequenz

  1. Klicken Sie auf Edit in Sequencer -> Edit with FK Control Rig
  2. Klicken Sie im Dialogfeld Bake to Control Rig auf die Schaltfläche Bake to Control Rig, ohne Einstellungen zu ändern

Bearbeiten mit FK Control Rig Backen auf Control Rig

  1. Der Editor wechselt in den Animation Mode mit geöffnetem Sequencer-Tab
  2. Setzen Sie die View Range End Time auf 0016 (was automatisch auch Working Range End auf 0016 setzt)
  3. Ziehen Sie den rechten Rand des Schiebereglers an das rechte Ende des Sequencer-Fensters

5. Prepare the Animation Curves

  1. Kehren Sie zum Animation Sequence Asset zurück und suchen Sie die Morph Targets in der Curves-Liste (falls sie nicht sichtbar sind, schließen und öffnen Sie das Animation Sequence Asset erneut)
  2. Entfernen Sie alle Morph Targets, die nicht mit Visemen oder Mundbewegungen zusammenhängen, die Sie für die Lippenanimation verwenden möchten

6. Plan your viseme mapping

Erstellen Sie einen Mapping-Plan, um die Viseme Ihres Charakters auf den erforderlichen Satz des Plugins abzubilden. 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 Zuordnungen zu haben, wenn der Visem-Satz Ihres Charakters nicht für jedes erforderliche Visem exakte Übereinstimmungen hat.

7. Animieren Sie jedes Visem

  1. Animieren Sie für jedes Visem die relevanten Morph-Target-Kurven von 0.0 auf 1.0
  2. Starten Sie jede Visem-Animation auf einem anderen Frame
  3. Konfigurieren Sie bei Bedarf zusätzliche Kurven (Kiefer-/Mundöffnung, Zungenposition usw.), um natürlich aussehende Visem-Formen zu erstellen

8. Create a Pose Asset

  1. Gehen Sie zu Create Asset -> Pose Asset -> Current Animation
  2. Geben Sie einen beschreibenden Namen für das Pose Asset ein und speichern Sie es an einem geeigneten Ort
  3. Das erstellte Pose Asset öffnet sich automatisch und zeigt Posen wie Pose_0, Pose_1 usw. an, die jeweils einem Visem entsprechen
  4. Vorschau der Visem-Gewichtungen, um sicherzustellen, dass sie wie erwartet funktionieren

Erstellen eines Pose Assets Benennen des Pose Assets Pose Asset mit Visemen

9. Finalize the Pose Asset

  1. Benennen Sie jede Pose um, sodass sie mit den Visem-Namen aus dem Abschnitt Voraussetzungen übereinstimmt
  2. Löschen Sie alle nicht verwendeten Posen

Setting up audio handling and blending

Sobald Ihr Pose-Asset bereit ist, müssen Sie die Audio-Handling- und Blending-Knoten einrichten:

  1. Suchen Sie das Animation Blueprint Ihres Charakters oder erstellen Sie es
  2. Richten Sie das Audio-Handling und Blending gemäß den gleichen Schritten ein, die im Standard-Plugin-Setup-Leitfaden dokumentiert sind
  3. Wählen Sie im Blend Runtime MetaHuman Lip Sync-Knoten Ihr benutzerdefiniertes Pose-Asset anstelle des standardmäßigen MetaHuman-Pose-Assets aus

Auswahl des benutzerdefinierten Pose-Assets

Combining with body animations

Wenn Sie Lippen-Synchronisation zusammen mit anderen Körperanimationen durchführen möchten:

  1. Befolgen Sie die gleichen Schritte, die im Standard-Plugin-Leitfaden dokumentiert sind
  2. Stellen Sie sicher, dass Sie die korrekten Knochennamen für das Hals-Skelett Ihres Charakters angeben, anstatt die MetaHuman-Knochennamen zu verwenden

Ergebnisse

Hier sind Beispiele für benutzerdefinierte Charaktere, die dieses Setup verwenden:

Beispiel 1: Lippen-Synchronisation mit benutzerdefiniertem Charakter

Beispiel 2: Lippen-Synchronisation mit anderem Visem-System

Beispiel 3: Lippen-Synchronisation mit anderem Visem-System

Die Qualität der Lippen-Synchronisation hängt weitgehend vom spezifischen Charakter und davon ab, wie gut seine Viseme eingerichtet sind. Die obigen Beispiele zeigen das Plugin in Aktion mit verschiedenen Arten von benutzerdefinierten Charakteren mit unterschiedlichen Visem-Systemen.