Zum Hauptinhalt springen

Plugin-Konfiguration

Modellkonfiguration

Standardmodell-Konfiguration

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

Für Animation Blueprint-Konfigurationsoptionen siehe den Abschnitt Lip Sync Configuration unten.

Realistische Modellkonfiguration

Der Create Realistic MetaHuman Lip Sync Generator-Knoten akzeptiert einen optionalen Configuration-Parameter, der es Ihnen ermöglicht, das Verhalten des Generators anzupassen:

Modelltyp

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

ModelltypLeistungVisuelle QualitätRauschbehandlungEmpfohlene Anwendungsfälle
Hochgradig optimiert (Standard)Höchste Leistung, geringste CPU-AuslastungGute QualitätKann bei Hintergrundgeräuschen oder Nicht-Sprach-Geräuschen merkliche Mundbewegungen zeigenSaubere Audio-Umgebungen, leistungskritische Szenarien
Teilweise optimiertGute 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 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 normalerweise niedrig für die Echtzeitverarbeitung 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 Reaktionsfähigkeit der Lippenbewegung verringern
  • Empfohlen, Vielfache von 160 für optimale Ausrichtung zu verwenden

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: Vorausschauzeit 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.

Stimmungseinstellungen

Verfügbare Stimmungen:

  • 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)

Laufzeit-Stimmungssteuerung

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

  • Set Mood: Ändern Sie den aktuellen Stimmungstyp
  • Set Mood Intensity: Passen Sie an, wie stark die Stimmung die Animation beeinflusst (0.0 bis 1.0)
  • Set Lookahead Ms: Ändern Sie die Vorausschauzeit für die Synchronisation
  • Set Output Type: Wechseln Sie zwischen Full Face und Mouth Only Steuerungen

Mood Configuration

Leitfaden zur Stimmungsauswahl

Wählen Sie geeignete Stimmungen basierend auf Ihrem Inhalt:

StimmungAm besten geeignet fürTypischer Intensitätsbereich
NeutralAllgemeine Gespräche, 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, abstoßende 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, selbstbewusste Sprache0.7 - 1.0
ExcitedEnergetische Inhalte, Ankündigungen, enthusiastische Dialoge0.8 - 1.0
BoredMonotone Inhalte, desinteressierte Dialoge, müde Sprache0.3 - 0.7
PlayfulLockeres Gespräch, Humor, unbeschwerte Interaktionen0.6 - 0.9
ConfusedDialoge mit vielen Fragen, Unsicherheit, Verwirrung0.4 - 0.8

Animation Blueprint Konfiguration

Lip Sync Konfiguration

Der Blend Runtime MetaHuman Lip Sync-Knoten verfügt über 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 Lippenanimation zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass die Lippenanimation fortgesetzt wird, nachdem das Audio gestoppt hat.

Lach-Animation

Sie können auch Lach-Animationen hinzufügen, die dynamisch auf in der Audioaufnahme erkanntes Lachen reagieren:

  1. Fügen Sie den Blend Runtime MetaHuman Laughter-Knoten hinzu
  2. Verbinden Sie Ihre RuntimeVisemeGenerator-Variable mit dem Viseme Generator-Pin
  3. Wenn Sie bereits Lippenanimation verwenden:
    • Verbinden Sie die Ausgabe des Blend Runtime MetaHuman Lip Sync-Knotens mit dem Source Pose des Blend Runtime MetaHuman Laughter-Knotens
    • Verbinden Sie die Ausgabe des Blend Runtime MetaHuman Laughter-Knotens mit dem Result-Pin der Output Pose
  4. Wenn Sie nur Lachen ohne Lippenanimation verwenden:
    • Verbinden Sie Ihre Quellpose direkt mit dem Source Pose des Blend Runtime MetaHuman Laughter-Knotens
    • Verbinden Sie die Ausgabe mit dem Result-Pin

Blend Runtime MetaHuman Laughter

Wenn Lachen in der Audioaufnahme erkannt wird, wird Ihre Figur entsprechend dynamisch animiert:

Laughter

Lach-Konfiguration

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

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen Lach-Animationen übergehen. 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 Lach-Animation fortgesetzt wird, nachdem das Audio gestoppt hat.
Maximale Lach-Intensität0.7Skaliert die maximale Intensität der Lach-Animation (0.0 - 1.0).

Hinweis: Die Lacherkennung ist derzeit nur mit dem Standard-Modell verfügbar.

Kombination mit bestehenden Animationen

Um Lippen-Sync und Lachen zusammen mit bestehenden Körperanimationen und benutzerdefinierten Gesichtsanimationen anzuwenden, ohne diese zu überschreiben:

  1. Fügen Sie einen Layered blend per bone-Knoten zwischen Ihren Körperanimationen und der endgültigen Ausgabe hinzu. Stellen Sie sicher, dass Use Attached Parent auf true gesetzt ist.
  2. Konfigurieren Sie das 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 "Use Max Value". Dies ermöglicht es, benutzerdefinierte Gesichtsanimationen (Ausdrücke, Emotionen usw.) korrekt über den Lippen-Sync zu legen.
  4. Stellen Sie die Verbindungen her:
    • Bestehende Animationen (wie BodyPose) → Base Pose-Eingang
    • Gesichtsanimationsausgabe (von Lippen-Sync- und/oder Lachen-Knoten) → Blend Poses 0-Eingang
    • Layered blend-Knoten → Endgültige Result-Pose

Layered Blend Per Bone

Feinabstimmung des Lippen-Sync-Verhaltens

Zungenvorstoß-Steuerung

Im Standard-Lippensynchronisationsmodell kann es zu übermäßiger Vorwärtsbewegung der Zunge bei bestimmten Phonemen kommen. Um den Zungenvorschub zu kontrollieren:

  1. Fügen Sie nach Ihrem Lippensynchronisations-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 Zungenausdehnung zu steuern (z.B. 0,8, um den Vorschub um 20 % zu reduzieren)

Kieferöffnungssteuerung

Die realistische Lippensynchronisation kann je nach Ihrem Audioinhalt und Ihren visuellen Anforderungen übermäßig reagierende Kieferbewegungen erzeugen. Um die Intensität der Kieferöffnung anzupassen:

  1. Fügen Sie nach Ihrem Lippensynchronisations-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 Modelle mit Stimmungsfunktion 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 - Absenken 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 den Modellen

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

ÜberlegungStandardmodellRealistisches ModellRealistisches Modell mit Stimmungsfunktion
CharakterkompatibilitätMetaHumans und alle benutzerdefinierten CharaktertypenNur MetaHumansNur MetaHumans
Visuelle QualitätGute Lippensynchronisation mit effizienter LeistungVerbesserter Realismus mit natürlicheren MundbewegungenVerbesserter Realismus mit emotionalen Ausdrücken
LeistungFür alle Plattformen inklusive Mobilgeräte/VR optimiertHöhere RessourcenanforderungenHöhere Ressourcenanforderungen
Funktionen14 Viseme, Lachen-Erkennung81 Gesichtssteuerungen, 3 Optimierungsstufen81 Gesichtssteuerungen, 12 Stimmungen, konfigurierbare Ausgabe
PlattformunterstützungWindows, Android, QuestWindows, Mac, iOS, Linux, Android, QuestWindows, Mac, iOS, Linux, Android, Quest
AnwendungsfälleAllgemeine Anwendungen, Spiele, VR/AR, MobilgeräteFilmische Erfahrungen, Nahaufnahme-InteraktionenEmotionales Storytelling, fortgeschrittene Charakterinteraktion

Engine-Version-Kompatibilität

UE 5.2-Kompatibilitätsproblem

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

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

Leistungsempfehlungen

  • Für die meisten Projekte bietet das Standard Model eine ausgezeichnete Balance aus Qualität und Leistung
  • Verwenden Sie das Realistic Model, wenn Sie die höchste visuelle Wiedergabetreue für MetaHuman-Charaktere benötigen
  • Verwenden Sie das Mood-Enabled Realistic Model, wenn die Kontrolle des emotionalen Ausdrucks für Ihre Anwendung wichtig ist
  • Berücksichtigen Sie die Leistungsfähigkeit 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 (über Runtime Text To Speech)Externe TTS-UnterstützungHinweise
Standard Model✅ Volle Unterstützung✅ Volle UnterstützungKompatibel mit allen TTS-Optionen
Realistic Model❌ Eingeschränkte Unterstützung✅ Volle UnterstützungONNX Runtime-Konflikte mit lokaler TTS
Mood-Enabled Realistic Model✅ Volle Unterstützung✅ Volle UnterstützungKompatibel mit allen TTS-Optionen

Fehlerbehebung

Häufige Probleme

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

Lokale TTS-Kompatibilität: Lokale TTS, bereitgestellt durch das Runtime Text To Speech-Plugin, wird derzeit nicht mit dem regulären Realistic Model aufgrund von ONNX Runtime-Konflikten unterstützt. Sie ist jedoch vollständig kompatibel mit sowohl dem Standard Model als auch dem Mood-Enabled Realistic Model. Verwenden Sie externe TTS-Dienste, wenn Sie speziell das reguläre Realistic Model mit TTS-Funktionalität benötigen.

Verschlechterte Lippen-Sync-Reaktionsfähigkeit: Wenn Sie feststellen, dass Lippen-Sync im Laufe der Zeit weniger reaktionsschnell wird, wenn Sie Streaming Sound Wave oder Capturable Sound Wave verwenden, könnte 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 regelmäßig auf, um angesammelten Speicher freizugeben, z.B. etwa alle 30 Sekunden.

Leistungsoptimierung:

  • Passen Sie die Processing Chunk Size für Realistic Models basierend auf Ihren Leistungsanforderungen an
  • Verwenden Sie angemessene Thread-Anzahlen für Ihre Zielhardware
  • Erwägen Sie die Verwendung des Mouth Only-Ausgabetyps für mood-enabled Models, wenn keine vollständige Gesichtsanimation benötigt wird