Zum Hauptinhalt springen

Plugin-Konfiguration

Modellkonfiguration

Standard-Modellkonfiguration

Der Create Runtime Viseme Generator-Knoten verwendet Standardeinstellungen, die für die meisten Szenarien gut funktionieren. Die Konfiguration wird über die Eigenschaften des Animation Blueprint-Blending-Knotens verwaltet.

Informationen zu den Konfigurationsoptionen für Animation Blueprints finden Sie im Abschnitt Lip Sync-Konfiguration unten.

Realistische Modellkonfiguration

Der Create Realistic MetaHuman Lip Sync Generator-Knoten akzeptiert einen optionalen Configuration-Parameter, mit dem Sie das Verhalten des Generators anpassen können:

Modelltyp

Die Model Type-Einstellung bestimmt, welche Version des realistischen Modells verwendet werden soll:

ModelltypLeistungVisuelle QualitätRauschbehandlungEmpfohlene Anwendungsfälle
Hochoptimiert (Standard)Höchste Leistung, niedrigste CPU-AuslastungGute QualitätKann merkliche Mundbewegungen bei Hintergrundgeräuschen oder Nicht-Sprach-Geräuschen zeigenSaubere Audio-Umgebungen, leistungskritische Szenarien
TeiloptimiertGute Leistung, moderate CPU-AuslastungHohe QualitätBessere Stabilität bei verrauschtem AudioAusgewogene Leistung und Qualität, gemischte Audio-Bedingungen
OriginalGeeignet für Echtzeitanwendung auf modernen CPUsHöchste QualitätStabilste Leistung bei Hintergrundgeräuschen und Nicht-Sprach-GeräuschenHochwertige Produktionen, verrauschte Audio-Umgebungen, wenn maximale Genauigkeit benötigt wird

Leistungseinstellungen

Intra Op Threads: Steuert die Anzahl der Threads, die für interne Modellverarbeitungsoperationen verwendet werden.

  • 0 (Standard/Automatisch): Verwendet automatische Erkennung (typischerweise 1/4 der verfügbaren CPU-Kerne, maximal 4)
  • 1-16: Thread-Anzahl manuell angeben. Höhere Werte können die Leistung auf Multi-Core-Systemen verbessern, verbrauchen aber mehr CPU

Inter Op Threads: Steuert die Anzahl der Threads, die für die parallele Ausführung verschiedener Modelloperationen verwendet werden.

  • 0 (Standard/Automatisch): Verwendet automatische Erkennung (typischerweise 1/8 der verfügbaren CPU-Kerne, maximal 2)
  • 1-8: Thread-Anzahl manuell angeben. Wird für die Echtzeitverarbeitung normalerweise niedrig gehalten

Verarbeitungs-Chunk-Größe

Die Processing Chunk Size bestimmt, wie viele Samples in jedem Inferenzschritt verarbeitet werden. Der Standardwert ist 160 Samples (10ms Audio bei 16kHz):

  • Kleinere Werte bieten häufigere Aktualisierungen, erhöhen aber die CPU-Auslastung
  • Größere Werte reduzieren die CPU-Last, können aber die Lippen-Sync-Reaktionsfähigkeit verringern
  • Empfohlen werden Vielfache von 160 für eine optimale Ausrichtung

Setting Processing Chunk Size

Stimmungsfähige Modellkonfiguration

Der Create Realistic MetaHuman Lip Sync With Mood Generator-Knoten bietet zusätzliche Konfigurationsoptionen über das grundlegende realistische Modell hinaus:

Grundkonfiguration

Lookahead Ms: Lookahead-Zeit in Millisekunden für verbesserte Lippen-Sync-Genauigkeit.

  • Standard: 80ms
  • Bereich: 20ms bis 200ms (muss durch 20 teilbar sein)
  • Höhere Werte bieten eine bessere Synchronisation, erhöhen aber die Latenz

Output Type: Steuert, welche Gesichtssteuerungen generiert werden.

  • Full Face: Alle 81 Gesichtssteuerungen (Augenbrauen, Augen, Nase, Mund, Kiefer, Zunge)
  • Mouth Only: Nur mund-, kiefer- und zungenbezogene Steuerungen

Performance Settings: Verwendet die gleichen Intra Op Threads und Inter Op Threads Einstellungen wie das reguläre realistische Modell.

Mood Settings

Available Moods:

  • Neutral, Happy, Sad, Disgust, Anger, Surprise, Fear
  • Confident, Excited, Bored, Playful, Confused

Mood Intensity: Steuert, wie stark die Stimmung die Animation beeinflusst (0.0 bis 1.0)

Runtime Mood Control

Sie können die Stimmungseinstellungen während der Laufzeit mit den folgenden Funktionen anpassen:

  • Set Mood: Ändert den aktuellen Stimmungstyp
  • Set Mood Intensity: Passt an, wie stark die Stimmung die Animation beeinflusst (0.0 bis 1.0)
  • Set Lookahead Ms: Modifiziert die Lookahead-Zeit für die Synchronisation
  • Set Output Type: Wechselt zwischen Full Face und Mouth Only Steuerungen

Mood Configuration

Mood Selection Guide

Wählen Sie geeignete Stimmungen basierend auf Ihrem Inhalt:

StimmungAm besten geeignet fürTypischer Intensitätsbereich
NeutralAllgemeine Konversation, Erzählung, Standardzustand0.5 - 1.0
HappyPositive Inhalte, fröhliche Dialoge, Feierlichkeiten0.6 - 1.0
SadMelancholische Inhalte, emotionale Szenen, düstere Momente0.5 - 0.9
DisgustNegative Reaktionen, widerliche Inhalte, Ablehnung0.4 - 0.8
AngerAggressive Dialoge, konfrontative Szenen, Frustration0.6 - 1.0
SurpriseUnerwartete Ereignisse, Enthüllungen, Schockreaktionen0.7 - 1.0
FearBedrohliche Situationen, Angst, nervöse Dialoge0.5 - 0.9
ConfidentProfessionelle Präsentationen, Führungsdialoge, bestimmte Sprache0.7 - 1.0
ExcitedEnergetische Inhalte, Ankündigungen, enthusiastische Dialoge0.8 - 1.0
BoredMonotone Inhalte, desinteressierte Dialoge, müde Sprache0.3 - 0.7
PlayfulGelegentliche Konversation, Humor, unbeschwerte Interaktionen0.6 - 0.9
ConfusedFragenreiche Dialoge, Unsicherheit, Verwirrung0.4 - 0.8

Animation Blueprint Configuration

Lip Sync Configuration

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

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen Visemen übergehen. Höhere Werte führen zu schnelleren, abrupten Übergängen.
Zurücksetzzeit0.2Die Dauer in Sekunden, nach der die Lippen-Synchronisation zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass die Lippen-Synchronisation fortgesetzt wird, nachdem das Audio gestoppt hat.

Lachanimation

Sie können auch Lachen-Animationen hinzufügen, die dynamisch auf im Audio erkanntes Lachen 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 die Ausgabe des Blend Runtime MetaHuman Lip Sync-Nodes mit dem Source Pose des Blend Runtime MetaHuman Laughter-Nodes
    • Verbinden Sie die Ausgabe des Blend Runtime MetaHuman Laughter-Nodes mit dem Result-Pin der Output Pose
  4. Falls Sie nur Lachen ohne Lip Sync verwenden:
    • Verbinden Sie Ihre Quell-Pose direkt mit dem Source Pose des Blend Runtime MetaHuman Laughter-Nodes
    • Verbinden Sie die Ausgabe mit dem Result-Pin

Blend Runtime MetaHuman Laughter

Wenn Lachen im Audio erkannt wird, animiert sich Ihre Figur entsprechend dynamisch:

Laughter

Lachen-Konfiguration

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

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

Hinweis: Lachen-Erkennung ist derzeit nur mit dem Standard-Modell verfügbar.

Kombination mit bestehenden Animationen

Um Lip Sync und Lachen zusätzlich zu bestehenden Körperanimationen und benutzerdefinierten Gesichtsanimationen anzuwenden, ohne diese zu überschreiben:

  1. Fügen Sie einen Layered blend per bone-Node zwischen Ihre Körperanimationen und die endgültige Ausgabe. Stellen Sie sicher, dass Use Attached Parent aktiviert ist.
  2. Konfigurieren Sie den Layer-Setup:
    • Fügen Sie 1 Element zum Layer Setup-Array hinzu
    • Fügen Sie 3 Elemente zu den Branch Filters für den Layer hinzu, mit den folgenden Bone Names:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. Wichtig für benutzerdefinierte Gesichtsanimationen: Wählen Sie in Curve Blend Option die Option "Use Max Value". Dies ermöglicht es, benutzerdefinierte Gesichtsanimationen (Ausdrücke, Emotionen, etc.) korrekt über dem Lip Sync zu schichten.
  4. Stellen Sie die Verbindungen her:
    • Bestehende Animationen (wie BodyPose) → Base Pose-Eingang
    • Gesichtsanimationsausgabe (von Lip Sync- und/oder Lachen-Nodes) → Blend Poses 0-Eingang
    • Layered blend-Node → Endgültige Result-Pose

Layered Blend Per Bone

Feinabstimmung des Lip Sync-Verhaltens

Zungenvorstoß-Steuerung

Im Standard-Lip-Sync-Modell könnten Sie eine übermäßige Vorwärtsbewegung der Zunge bei bestimmten Phonemen bemerken. Um den Zungenvorstoß zu kontrollieren:

  1. Fügen Sie nach Ihrem Lip-Sync-Blend-Node einen Modify Curve-Node hinzu
  2. Klicken Sie mit der rechten Maustaste auf den Modify Curve-Node und wählen Sie Add Curve Pin
  3. Fügen Sie einen Curve Pin mit dem Namen CTRL_expressions_tongueOut hinzu
  4. Setzen Sie die Apply Mode-Eigenschaft des Nodes auf Scale
  5. Passen Sie den Value-Parameter an, um die Zungenstreckung zu steuern (z. B. 0,8, um den Vorstoß um 20 % zu reduzieren)

Kieferöffnungssteuerung

Der realistische Lip-Sync kann je nach Ihrem Audioinhalt und Ihren visuellen Anforderungen übermäßig reagierende Kieferbewegungen erzeugen. Um die Kieferöffnungsintensität anzupassen:

  1. Fügen Sie nach Ihrem Lip-Sync-Blend-Node einen Modify Curve-Node hinzu
  2. Klicken Sie mit der rechten Maustaste auf den Modify Curve-Node und wählen Sie Add Curve Pin
  3. Fügen Sie einen Curve Pin mit dem Namen CTRL_expressions_jawOpen hinzu
  4. Setzen Sie die Apply Mode-Eigenschaft des Nodes auf Scale
  5. Passen Sie den Value-Parameter an, um den Kieferöffnungsbereich zu steuern (z. B. 0,9, um die Kieferbewegung um 10 % zu reduzieren)

Stimmungsbezogene Feinabstimmung

Für mood-fähige Modelle können Sie bestimmte emotionale Ausdrücke feinabstimmen:

Augenbrauensteuerung:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - Anheben der inneren Augenbraue
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - Anheben der äußeren Augenbraue
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - Senken der Augenbraue

Augenausdruckssteuerung:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - Zusammenkneifen der Augen
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - Anheben der Wange

Modellvergleich und -auswahl

Auswahl zwischen Modellen

Berücksichtigen Sie bei der Entscheidung, welches Lip-Sync-Modell Sie für Ihr Projekt verwenden möchten, folgende Faktoren:

ÜberlegungStandardmodellRealistisches ModellMood-fähiges realistisches Modell
CharakterkompatibilitätMetaHumans und alle benutzerdefinierten CharaktertypenNur MetaHumansNur MetaHumans
Visuelle QualitätGuter Lip-Sync mit effizienter LeistungVerbesserter Realismus mit natürlicheren MundbewegungenVerbesserter Realismus mit emotionalen Ausdrücken
LeistungFür alle Plattformen inklusive Mobile/VR optimiertHöhere RessourcenanforderungenHöhere Ressourcenanforderungen
Funktionen14 Viseme, Lacherkennung81 Gesichtssteuerungen, 3 Optimierungsstufen81 Gesichtssteuerungen, 12 Stimmungen, konfigurierbare Ausgabe
PlattformunterstützungWindows, Android, QuestWindows, Mac, iOS, LinuxWindows, Mac, iOS, Linux
AnwendungsfälleAllgemeine Anwendungen, Spiele, VR/AR, MobilgeräteFilmische Erfahrungen, Interaktionen aus der NäheEmotionales Storytelling, erweiterte Charakterinteraktion

Engine-Version-Kompatibilität

UE 5.2-Kompatibilitätsproblem

Wenn Sie Unreal Engine 5.2 verwenden, funktionieren die Realistischen Modelle möglicherweise nicht korrekt aufgrund eines Fehlers in UEs Resampling-Bibliothek. Für UE 5.2-Benutzer, die eine zuverlässige Lippen-Sync-Funktionalität benötigen, verwenden Sie bitte stattdessen das Standard-Modell.

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

Leistungsempfehlungen

  • Für die meisten Projekte bietet das Standard-Modell eine hervorragende Balance aus Qualität und Leistung
  • Verwenden Sie das Realistische Modell, wenn Sie die höchste visuelle Wiedergabetreue für MetaHuman-Charaktere benötigen
  • Verwenden Sie das Stimmungsfähige Realistische Modell, wenn die Kontrolle des emotionalen Ausdrucks für Ihre Anwendung wichtig ist
  • Berücksichtigen Sie die Leistungsfähigkeiten Ihrer Zielplattform bei der Auswahl zwischen den Modellen
  • Testen Sie verschiedene Optimierungsstufen, um die beste Balance für Ihren spezifischen Anwendungsfall zu finden

TTS-Kompatibilität

ModelltypLokale TTS-Unterstützung (via Runtime Text To Speech)Externe TTS-UnterstützungHinweise
Standard-Modell✅ Volle Unterstützung✅ Volle UnterstützungKompatibel mit allen TTS-Optionen
Realistisches Modell❌ Eingeschränkte Unterstützung✅ Volle UnterstützungONNX Runtime-Konflikte mit lokalem TTS
Stimmungsfähiges Realistisches Modell✅ Volle Unterstützung✅ Volle UnterstützungKompatibel mit allen TTS-Optionen

Fehlerbehebung

Häufige Probleme

Generator-Neuerstellung für Realistische Modelle: Für einen zuverlässigen und konsistenten Betrieb mit den Realistischen Modellen wird empfohlen, den Generator jedes Mal neu zu erstellen, wenn Sie nach einer Phase der Inaktivität neue Audiodaten zuführen möchten. Dies liegt am ONNX Runtime-Verhalten, das dazu führen kann, dass Lippen-Sync nicht mehr funktioniert, wenn Generatoren nach Phasen der Stille wiederverwendet werden.

Lokale TTS-Kompatibilität: Lokales TTS, bereitgestellt durch das Runtime Text To Speech-Plugin, wird derzeit nicht mit dem regulären Realistischen Modell aufgrund von ONNX Runtime-Konflikten unterstützt. Es ist jedoch vollständig kompatibel mit sowohl dem Standard-Modell als auch dem Stimmungsfähigen Realistischen Modell. Verwenden Sie externe TTS-Dienste, wenn Sie spezifisch das reguläre Realistische Modell mit TTS-Funktionalität benötigen.

Verschlechterte Lippen-Sync-Reaktionsfähigkeit: Wenn Sie feststellen, dass Lippen-Sync über die Zeit weniger reaktionsfähig wird, wenn Sie Streaming Sound Wave oder Capturable Sound Wave verwenden, kann dies durch Speicheranhäufung verursacht werden. Standardmäßig wird der Speicher jedes Mal neu zugewiesen, wenn neuer Audioinhalt angehängt wird. Um dieses Problem zu verhindern, rufen Sie die ReleaseMemory-Funktion periodisch auf, um angesammelten Speicher freizugeben, beispielsweise alle 30 Sekunden oder so.

Leistungsoptimierung:

  • Passen Sie die Verarbeitungs-Chunk-Größe für Realistische Modelle basierend auf Ihren Leistungsanforderungen an
  • Verwenden Sie angemessene Thread-Anzahlen für Ihre Zielhardware
  • Erwägen Sie die Verwendung des Mund-Only-Ausgabetyps für stimmungsfähige Modelle, wenn keine vollständige Gesichtsanimation benötigt wird