Zum Hauptinhalt springen

So verwenden Sie das Plugin mit benutzerdefinierten Charakteren

Dieser Leitfaden führt Sie durch die 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 sich für professionelle Unterstützung an solutions@georgy.dev wenden.

Wichtiger Hinweis zu Lip-Sync-Modellen

Kompatibilität mit benutzerdefinierten Charakteren

Dieser Leitfaden behandelt benutzerdefinierte Charaktere, die nicht den Benennungskonventionen für Morph-Ziele von MetaHuman oder ARKit folgen.

Das Realistic-Modell (höhere Qualität) funktioniert mit Charakteren, deren Morph-Targets dem MetaHuman- oder ARKit-Benennungsstandard folgen, konfigurierbar über Auswahl des Morph-Target-Sets. Wenn Ihr Charakter bereits ARKit-standardkonforme Blendshape-Namen verwendet (oder in ein solches Format exportiert/konvertiert werden kann), können Sie das Realistic-Modell verwenden, ohne den manuellen Zuordnungsprozess dieser Anleitung durchführen zu müssen. Siehe Konvertieren von Charakteren in ARKit-Blendshapes für gängige Charaktere wie CC4/CC5 und Daz Genesis.

Wenn Ihr Charakter einen anderen Morph-Target-Satz verwendet (z. B. Daz Genesis, Reallusion CC3/CC4/CC5, Mixamo oder ein vereinfachtes benutzerdefiniertes Rig), ist das Standard (Faster)-Modell die unterstützte Option, wobei die folgenden Schritte zu befolgen sind.

Erforderliches Erweiterungs-Plugin: Um das Standard Model 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 erforderlich für alle in diesem Leitfaden beschriebenen benutzerdefinierten Charakterimplementierungen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Ihr Charakter diese Anforderungen erfüllt:

  • Hat ein gültiges Skelett
  • Enthält Morph-Targets (Blend Shapes) für Gesichtsausdrücke
  • Hat idealerweise 10+ Morph-Targets, die Viseme definieren (mehr Viseme = bessere Lip-Sync-Qualität)

Das Plugin erfordert die Zuordnung der Morph-Targets deines 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 exakte Übereinstimmung für jedes Visem. Näherungen sind oft ausreichend – zum Beispiel würde das Zuordnen des SH-Visems Ihres Charakters zum CH-Visem des Plugins effektiv funktionieren, da es sich um eng verwandte postalveolare Laute handelt.

Referenz zur Visem-Zuordnung

Hier sind Zuordnungen zwischen gängigen Visem-Systemen und den vom Plugin benötigten Visemen:

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

RuntimeMetaHumanLipSync VisemARKit-ÄquivalentNotizen
SilmouthCloseDie Neutral-/Ruheposition
PPmouthPressLeft + mouthPressRightFür bilabiale Laute verwenden Sie beide Press-Shapes zusammen.
FFlowerLipBiteLeft + lowerLipBiteRight (oder mouthRollLower)Die Unterlippe kontaktiert die oberen Zähne, wie bei den Lauten „f“ und „v“.
THtongueOutARKit hat direkte Zungensteuerung.
DDjawOpen (mild) + tongueUp (if you have tongue rig)Die Zunge berührt den Alveolarkamm; der Unterkiefer senkt sich leicht.
KKmouthLeft or mouthRight (mild)Ein dezenter Mundwinkelzug nähert velare Laute an.
CHjawOpen (mild) + mouthFunnel (mild)Kombinieren für postalveolare Laute
SSmouthFrownVerwenden Sie für Zischlaute ein leichtes Stirnrunzeln.
NNjawOpen (very mild) + mouthCloseFast geschlossener Mund mit leichter Kieferöffnung
RRmouthPucker (mild)Subtile Rundung für r-Laute
AAjawOpen + mouthStretchLeft + mouthStretchRight (oder jawOpen + mouthOpen)Weit geöffneter Mund für den "ah"-Laut
EjawOpen (mild) + mouthSmileHalb geöffnete Position mit leichtem Lächeln
IHmouthSmile (mild)Leichtes Spreizen der Lippen
OHmouthFunnelAbgerundete 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. Lokalisieren Sie das Skeletal Mesh Ihres Charakters.

Finden Sie das Skelett-Mesh, das die Morph-Ziele (Blend Shapes) enthält, die Sie für die Lippen-Synchronisations-Animation verwenden möchten. Dies kann je nach Design Ihres Charakters ein Ganzkörper-Mesh oder nur ein Gesichts-Mesh sein.

2. Morph-Ziele und Kurven überprüfen

Stellen Sie vor dem Fortfahren sicher, dass Ihr Skeletal Mesh geeignete Morph-Targets und entsprechende Kurven für die Lip-Sync-Animation aufweist.

Morph-Ziele überprüfen: Stellen Sie sicher, dass Ihr Skelett-Mesh Morph-Ziele (Blend Shapes) enthält, die als Viseme für die Lippensynchronisations-Animation verwendet werden können. Die meisten Charaktere mit Unterstützung für Gesichtsanimationen sollten über einige Phonem-/Visem-Morph-Ziele verfügen.

Example of morph targets in a character

Wichtig: Kurven-Registerkarte überprüfen 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, die Ihren Morph-Targets entsprechen
  3. Wenn der Kurven-Tab leer ist, aber Morph-Targets vorhanden sind, fügen Sie manuell neue Kurven mit exakt denselben Namen wie Ihre Morph-Targets hinzu

Hinweis: Dieses Problem tritt häufig bei Blender-Exporten auf, bei denen Morph-Ziele zwar erfolgreich importiert werden, aber keine Animationskurven automatisch erstellt werden. Ohne passende Kurven wird die Animation nach dem Baking auf das Control Rig nicht korrekt übernommen.

Alternative Lösung: Um dieses Problem beim Export aus Blender zu vermeiden, versuchen Sie, in Ihren FBX-Exporteinstellungen Benutzerdefinierte Eigenschaften und Animation zu aktivieren, da dies helfen kann, Animationskurven zusammen mit den Morph-Zielen einzubeziehen.

3. Erstellen Sie eine Referenz-Pose-Animation

  1. Gehen Sie zu Asset erstellen -> Animation erstellen -> Referenzpose
  2. Geben Sie einen beschreibenden Namen für die Animationssequenz ein und speichern Sie diese an einem geeigneten Speicherort
  3. Die erstellte Animationssequenz wird automatisch geöffnet und zeigt eine leere Animation, die in einer Schleife abgespielt wird

Creating a reference pose asset Naming the reference pose asset

  1. Klicken Sie auf die Schaltfläche Pause, um die Animationswiedergabe zum einfacheren Bearbeiten anzuhalten.

Pausing animation playback

4. Animationssequenz bearbeiten

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

Editing with FK Control Rig Baking to Control Rig

  1. Der Editor wechselt in den Animation Mode, wobei der Sequencer-Tab geöffnet ist.
  2. Setzen Sie die View Range End Time auf 0016 (wodurch Working Range End automatisch ebenfalls auf 0016 gesetzt wird).
  3. Ziehen Sie die rechte Kante des Schiebereglers bis zum rechten Ende des Sequencer-Fensters.

5. Animationskurven vorbereiten

  1. Kehren Sie zum Animation-Sequence-Asset zurück und suchen Sie die Morph Targets in der Curves-Liste (wenn diese 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 Lip Sync verwenden möchten

6. Planen Sie Ihre Visem-Zuordnung.

Erstellen Sie einen Zuordnungsplan, um die Viseme Ihres Charakters mit dem vom Plugin geforderten Satz 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

Beachte, dass wiederholte Zuordnungen akzeptabel sind, wenn das Visem-Set deines Charakters nicht für jedes erforderliche Visem eine exakte Entsprechung aufweist.

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 wirkende Visemformen zu erstellen.

8. Erstellen Sie ein Pose-Asset

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

Creating a pose asset Naming the pose asset Pose asset with visemes

9. Das Pose-Asset fertigstellen

  1. Benennen Sie jede Pose so um, dass sie den Visem-Namen aus dem Abschnitt Voraussetzungen entspricht.
  2. Löschen Sie alle ungenutzten Posen.

Einrichten der Audioverarbeitung und -mischung

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

  1. Suchen oder erstellen Sie das Animation Blueprint für Ihren Charakter.
  2. Richten Sie die Audioverarbeitung und das Blending nach denselben Schritten ein, die in der Standard-Plugin-Einrichtungsanleitung dokumentiert sind.
  3. Wählen Sie im Knoten Blend Runtime MetaHuman Lip Sync Ihr benutzerdefiniertes Pose-Asset anstelle des standardmäßigen MetaHuman-Pose-Assets aus.

Selecting the custom pose asset

Kombination mit Körperanimationen

Wenn Sie Lippensynchronisation zusammen mit anderen Körperanimationen durchführen möchten:

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

Ergebnisse

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

Example 1: Lip sync with custom character

Example 2: Lip sync with different viseme system

Example 3: Lip sync with different viseme system

Die Qualität der Lippensynchronisation hängt weitgehend vom jeweiligen Charakter und davon ab, wie gut dessen Viseme eingerichtet sind. Die obigen Beispiele zeigen, wie das Plugin mit verschiedenen Arten benutzerdefinierter Charaktere funktioniert, die über unterschiedliche Visem-Systeme verfügen.