Zum Hauptinhalt springen

Wie man das Plugin verwendet

Diese Anleitung führt Sie durch den Prozess der Einrichtung von Runtime MetaHuman Lip Sync für Ihre MetaHuman-Charaktere.

Hinweis: Runtime MetaHuman Lip Sync funktioniert sowohl mit MetaHuman als auch mit benutzerdefinierten Charakteren. Das Plugin unterstützt verschiedene Charaktertypen, darunter:

  • Beliebte kommerzielle Charaktere (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc.)
  • Charaktere mit FACS-basierten Blendshapes
  • Modelle, die ARKit-Blendshape-Standards verwenden
  • Charaktere mit Preston Blair-Phonemsätzen
  • 3ds Max-Phonemsysteme
  • Jeder Charakter mit benutzerdefinierten Morph Targets für Gesichtsausdrücke

Detaillierte Anweisungen zur Einrichtung benutzerdefinierter Charaktere, einschließlich Visem-Mapping-Referenzen für alle oben genannten Standards, finden Sie im Leitfaden zur Einrichtung benutzerdefinierter Charaktere.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher:

  1. Das MetaHuman-Plugin ist in Ihrem Projekt aktiviert (Hinweis: Ab UE 5.6 ist dieser Schritt nicht mehr erforderlich, da die MetaHuman-Funktionalität direkt in die Engine integriert ist)
  2. Sie haben mindestens einen MetaHuman-Charakter heruntergeladen und in Ihrem Projekt verfügbar
  3. Das Runtime MetaHuman Lip Sync-Plugin ist installiert

Standard Model Extension Plugin

Wenn Sie das Standard (Schnellere) Modell verwenden möchten, müssen Sie das Erweiterungs-Plugin installieren:

  1. Laden Sie das Standard Lip Sync Extension Plugin von Google Drive herunter
  2. Extrahieren Sie den Ordner aus dem heruntergeladenen Archiv in den Plugins-Ordner Ihres Projekts (erstellen Sie diesen Ordner, falls er nicht existiert)
  3. Stellen Sie sicher, dass Ihr Projekt als C++-Projekt eingerichtet ist (auch wenn Sie keinen C++-Code haben)
  4. Bauen Sie Ihr Projekt neu
hinweis
  • Diese Erweiterung ist nur erforderlich, wenn Sie das Standard-Modell verwenden möchten. Wenn Sie nur das Realistische Modell benötigen, können Sie diesen Schritt überspringen.
  • Weitere Informationen zum manuellen Erstellen von Plugins finden Sie im Building Plugins tutorial

Zusätzliche Plugins

Plattformspezifische Konfiguration

Android / Meta Quest Konfiguration

Falls Sie Android- oder Meta-Quest-Plattformen anvisieren und Build-Fehler mit diesem Plugin auftreten, müssen Sie die x86_64 (x64) Android-Architektur in Ihren Projekteinstellungen deaktivieren:

  1. Gehen Sie zu Bearbeiten > Projekteinstellungen
  2. Navigieren Sie zu Plattformen > Android
  3. Unter Plattformen - Android, Build-Abschnitt, finden Sie x86_64 [aka x64] unterstützen und stellen Sie sicher, dass es deaktiviert ist, wie unten gezeigt

x64 Android-Architektur deaktivieren

Dies liegt daran, dass das Plugin derzeit nur arm64-v8a und armeabi-v7a Architekturen für Android / Meta-Quest-Plattformen unterstützt.

Einrichtungsprozess

Schritt 1: Finden und modifizieren Sie das Gesichtsanimation Blueprint

Sie müssen ein Animation Blueprint modifizieren, das für die Gesichtsanimationen Ihres MetaHuman-Charakters verwendet wird. Das standardmäßige MetaHuman-Gesichtsanimation Blueprint befindet sich unter:

Content/MetaHumans/Common/Face/Face_AnimBP

Face Animation Blueprint

Sie haben mehrere Möglichkeiten, die Lip-Sync-Funktionalität zu implementieren:

Öffnen Sie die standardmäßige Face_AnimBP direkt und nehmen Sie Ihre Änderungen vor. Alle Änderungen wirken sich auf alle MetaHuman-Charaktere aus, die dieses Animation Blueprint verwenden.

Hinweis: Dieser Ansatz ist bequem, betrifft aber alle Charaktere, die das standardmäßige Animation Blueprint verwenden.

Wichtig: Die Runtime MetaHuman Lip Sync-Blending kann in jeder Animation Blueprint implementiert werden, die Zugriff auf eine Pose mit den Gesichtsknochen des standardmäßigen Face_Archetype_Skeleton des MetaHumans hat. Sie sind nicht auf die oben genannten Optionen beschränkt - dies sind nur gängige Implementierungsansätze.

Schritt 2: Event Graph-Einrichtung

Öffnen Sie Ihre Face Animation Blueprint und wechseln Sie zum Event Graph. Sie müssen einen Generator erstellen, der Audiodaten verarbeitet und Lip-Sync-Animationen generiert.

  1. Fügen Sie den Event Blueprint Begin Play-Knoten hinzu, falls er noch nicht existiert
  2. Fügen Sie den Create Runtime Viseme Generator-Knoten hinzu und verbinden Sie ihn mit dem Begin Play-Event
  3. Speichern Sie die Ausgabe als Variable (z.B. "VisemeGenerator") für die Verwendung in anderen Teilen des Graphs

Creating Runtime Viseme Generator

Schritt 3: Audioeingabeverarbeitung einrichten

Sie müssen eine Methode zur Verarbeitung der Audioeingabe einrichten. Es gibt mehrere Möglichkeiten, je nach Ihrer Audioquelle.

Dieser Ansatz führt die Lippensynchronisation in Echtzeit durch, während Sie in das Mikrofon sprechen:

  1. Erstellen Sie eine Capturable Sound Wave mit dem Runtime Audio Importer
  2. Binden Sie sich vor dem Start der Audioaufnahme an den OnPopulateAudioData-Delegaten
  3. Rufen Sie in der gebundenen Funktion ProcessAudioData von Ihrem Runtime Viseme Generator auf
  4. Starten Sie die Audioaufnahme vom Mikrofon

Kopierbare Nodes.

Lip Sync During Audio Capture

Schritt 4: Anim Graph Einrichtung

Nachdem Sie den Event Graph eingerichtet haben, wechseln Sie zum Anim Graph, um den Generator mit der Animation des Charakters zu verbinden:

Lip Sync

  1. Suchen Sie die Pose, die das MetaHuman-Gesicht enthält (typischerweise von Use cached pose 'Body Pose')
  2. Fügen Sie den Blend Runtime MetaHuman Lip Sync Node hinzu
  3. Verbinden Sie die Pose mit dem Source Pose des Blend Runtime MetaHuman Lip Sync Nodes
  4. Verbinden Sie Ihre RuntimeVisemeGenerator Variable mit dem Viseme Generator Pin
  5. Verbinden Sie den Ausgang des Blend Runtime MetaHuman Lip Sync Nodes mit dem Result Pin des Output Pose

Blend Runtime MetaHuman Lip Sync

Wenn Lip Sync im Audio erkannt wird, animiert sich Ihr Charakter entsprechend dynamisch:

Lip Sync

Lachanimation

Sie können auch Lachanimationen hinzufügen, die dynamisch auf Lachen im Audio reagieren:

  1. Fügen Sie den Blend Runtime MetaHuman Laughter-Node hinzu
  2. Verbinden Sie Ihre RuntimeVisemeGenerator-Variable mit dem Viseme Generator-Pin
  3. Falls Sie bereits Lip Sync verwenden:
    • Verbinden Sie den Ausgang des Blend Runtime MetaHuman Lip Sync-Nodes mit dem Source Pose des Blend Runtime MetaHuman Laughter-Nodes
    • Verbinden Sie den Ausgang des Blend Runtime MetaHuman Laughter-Nodes mit dem Result-Pin des Output Pose
  4. Falls Sie nur Lachen ohne Lip Sync verwenden:
    • Verbinden Sie Ihre Quellpose direkt mit dem Source Pose des Blend Runtime MetaHuman Laughter-Nodes
    • Verbinden Sie den Ausgang mit dem Result-Pin

Blend Runtime MetaHuman Laughter

Wenn Lachen im Audio erkannt wird, animiert sich Ihr Charakter entsprechend:

Laughter

Kombination mit Körperanimationen

Um Lip Sync und Lachen zusammen mit bestehenden Körperanimationen anzuwenden, ohne diese zu überschreiben:

  1. Fügen Sie einen Layered blend per bone-Node zwischen Ihre Körperanimationen und den finalen Ausgang ein. Stellen Sie sicher, dass Use Attached Parent aktiviert ist.
  2. Konfigurieren Sie das Layer-Setup:
    • Fügen Sie 1 Item zum Layer Setup-Array hinzu
    • Fügen Sie 3 Items zu den Branch Filters für den Layer hinzu, mit folgenden Bone Names:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. Stellen Sie die Verbindungen her:
    • Bestehende Animationen (wie BodyPose) → Base Pose-Eingang
    • Gesichtsanimation (von Lip Sync- und/oder Laughter-Nodes) → Blend Poses 0-Eingang
    • Layered blend-Node → Finale Result-Pose

Layered Blend Per Bone

Warum das funktioniert: Die Branch Filters isolieren die Gesichtsanimations-Knochen, sodass Lip Sync und Lachen ausschließlich mit Gesichtsbewegungen geblendet werden, während die ursprünglichen Körperanimationen erhalten bleiben. Dies entspricht der MetaHuman-Gesichtsrig-Struktur und gewährleistet eine natürliche Integration.

Hinweis: Die Lip Sync- und Laughter-Funktionen sind so konzipiert, dass sie nicht-destruktiv mit Ihrem bestehenden Animations-Setup arbeiten. Sie beeinflussen nur die spezifischen Gesichtsknochen, die für Mundbewegungen benötigt werden, und lassen andere Gesichtsanimationen unberührt. Das bedeutet, Sie können sie sicher an jedem Punkt Ihrer Animationskette integrieren - entweder vor anderen Gesichtsanimationen (sodass diese den Lip Sync/das Lachen überschreiben) oder danach (sodass Lip Sync/Lachen über Ihren bestehenden Animationen geblendet wird). Diese Flexibilität ermöglicht es Ihnen, Lip Sync und Lachen mit Augenblinzeln, Augenbrauenbewegungen, emotionalen Ausdrücken und anderen Gesichtsanimationen zu kombinieren, ohne Konflikte zu verursachen.

Konfiguration

Lip Sync-Konfiguration

Der Blend Runtime MetaHuman Lip Sync-Knoten hat Konfigurationsoptionen in seinem Eigenschaften-Panel:

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen Visemen wechseln. Höhere Werte führen zu schnelleren, abrupten Übergängen.
Zurücksetzzeit0.2Die Dauer in Sekunden, nach der die Lippenbewegung zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass die Lippenbewegung weiterläuft, nachdem die Audioquelle gestoppt wurde.

Lach-Konfiguration

Der Blend Runtime MetaHuman Laughter-Knoten hat seine eigenen Konfigurationsoptionen:

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen Lach-Animationen wechseln. Höhere Werte führen zu schnelleren, abrupten Übergängen.
Zurücksetzzeit0.2Die Dauer in Sekunden, nach der die Lach-Animation zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass die Animation weiterläuft, nachdem die Audioquelle gestoppt wurde.
Maximales Lach-Gewicht0.7Skaliert die maximale Intensität der Lach-Animation (0.0 - 1.0).

Auswahl zwischen Lip Sync-Modellen

Bei der Entscheidung, welches Lip Sync-Modell für Ihr Projekt verwendet werden soll, sollten Sie folgende Faktoren berücksichtigen:

ÜberlegungStandardmodellRealistisches Modell
Charakter-KompatibilitätMetaHumans und alle benutzerdefinierten CharaktertypenNur MetaHumans
Visuelle QualitätGute Lippenbewegung mit effizienter PerformanceVerbesserter Realismus mit natürlicheren Mundbewegungen
PerformanceOptimiert für alle Plattformen inklusive Mobile/VRLeicht höhere Ressourcenanforderungen
AnwendungsfälleAllgemeine Anwendungen, Spiele, VR/AR, MobileFilmische Erfahrungen, Nahaufnahmen von Charakterinteraktionen

Engine-Version-Kompatibilität

UE 5.2 Kompatibilitätsproblem

Wenn Sie Unreal Engine 5.2 verwenden, funktioniert das realistische Modell möglicherweise nicht korrekt aufgrund eines Fehlers in UEs Resampling-Bibliothek. Für UE 5.2-Nutzer, die zuverlässige Lip Sync-Funktionalität benötigen, verwenden Sie bitte das Standardmodell.

Dieses Problem betrifft nur UE 5.2 und keine anderen Engine-Versionen.

Für die meisten Projekte bietet das Standard-Modell eine hervorragende Balance zwischen Qualität und Leistung und unterstützt gleichzeitig die breiteste Palette von Charaktertypen. Das Realistische Modell ist ideal, wenn Sie die höchste visuelle Wiedergabetreue speziell für MetaHuman-Charaktere benötigen, in Kontexten, in denen Leistungseinbußen weniger kritisch sind.