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 behandelt.

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, der es Ihnen ermöglicht, das Verhalten des Generators anzupassen:

Modelltyp

Die Einstellung Model Type 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 normalerweise niedrig gehalten für die Echtzeitverarbeitung

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 Updates, erhöhen aber die CPU-Auslastung
  • Größere Werte reduzieren die CPU-Last, können aber die Lippen-Sync-Reaktionsfähigkeit verringern
  • Es wird empfohlen, Vielfache von 160 für eine 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: 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

Ausgabetyp: Steuert, welche Gesichtssteuerungen generiert werden.

  • Volles Gesicht: Alle 81 Gesichtssteuerungen (Augenbrauen, Augen, Nase, Mund, Kiefer, Zunge)
  • Nur Mund: Nur mund-, kiefer- und zungenbezogene Steuerungen

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

Stimmungseinstellungen

Verfügbare Stimmungen:

  • Neutral, Glücklich, Traurig, Ekel, Wut, Überraschung, Angst
  • Selbstbewusst, Aufgeregt, Gelangweilt, Verspielt, Verwirrt

Stimmungsintensität: 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:

  • Stimmung setzen: Ändert den aktuellen Stimmungstyp
  • Stimmungsintensität setzen: Passt an, wie stark die Stimmung die Animation beeinflusst (0.0 bis 1.0)
  • Lookahead Ms setzen: Ändert die Lookahead-Zeit für die Synchronisation
  • Ausgabetyp setzen: Wechselt zwischen Volles Gesicht und Nur Mund Steuerungen

Stimmungskonfiguration

Stimmungsauswahl-Leitfaden

Wählen Sie geeignete Stimmungen basierend auf Ihrem Inhalt:

StimmungAm besten geeignet fürTypischer Intensitätsbereich
NeutralAllgemeine Konversation, Erzählung, Standardzustand0.5 - 1.0
GlücklichPositive Inhalte, fröhliche Dialoge, Feiern0.6 - 1.0
TraurigMelancholische Inhalte, emotionale Szenen, düstere Momente0.5 - 0.9
EkelNegative Reaktionen, widerliche Inhalte, Ablehnung0.4 - 0.8
WutAggressive Dialoge, konfrontative Szenen, Frustration0.6 - 1.0
ÜberraschungUnerwartete Ereignisse, Enthüllungen, Schockreaktionen0.7 - 1.0
AngstBedrohliche Situationen, Angst, nervöse Dialoge0.5 - 0.9
SelbstbewusstProfessionelle Präsentationen, Führungsdialoge, bestimmende Sprache0.7 - 1.0
AufgeregtEnergetische Inhalte, Ankündigungen, enthusiastische Dialoge0.8 - 1.0
GelangweiltMonotone Inhalte, desinteressierte Dialoge, müde Sprache0.3 - 0.7
VerspieltLockerte Konversation, Humor, unbeschwerte Interaktionen0.6 - 0.9
VerwirrtDialoge mit vielen Fragen, Unsicherheit, Verblüffung0.4 - 0.8

Animation Blueprint Konfiguration

Lip Sync Konfiguration

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 Lippensynchronisation zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass die Lippensynchronisation fortgesetzt wird, nachdem das Audio gestoppt hat.

Lachanimation

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

  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 Lippensynchronisation verwenden:
    • Verbinden Sie die Ausgabe des Blend Runtime MetaHuman Lip Sync-Knotens mit der 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 Lippensynchronisation verwenden:
    • Verbinden Sie Ihre Quellpose direkt mit der Source Pose des Blend Runtime MetaHuman Laughter-Knotens
    • Verbinden Sie die Ausgabe mit dem Result-Pin

Blend Runtime MetaHuman Laughter

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

Laughter

Lachkonfiguration

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

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen Lachanimationen ü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.
Maximale Lachstärke0.7Skaliert die maximale Intensität der Lachanimation (0.0 - 1.0).

Hinweis: Lacherkennung ist derzeit nur mit dem Standardmodell verfügbar.

Kombination mit bestehenden Animationen

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

  1. Fügen Sie einen Layered blend per bone-Knoten zwischen Ihre Körperanimationen und die endgültige Ausgabe ein. 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 der Curve Blend Option die Option "Use Max Value". Dies ermöglicht es, benutzerdefinierte Gesichtsanimationen (Ausdrücke, Emotionen usw.) ordnungsgemäß ü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-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 Zungenausdehnung zu steuern (z. B. 0,8, um den Vorstoß um 20 % zu reduzieren)

Kieferöffnungssteuerung

Das 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 modellaktivierte 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 - 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 Modellen

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

ÜberlegungStandardmodellRealistisches ModellStimmungsaktiviertes Realistisches Modell
CharakterkompatibilitätMetaHumans und alle benutzerdefinierten CharaktertypenNur MetaHumansNur MetaHumans
Visuelle QualitätGutes Lip-Sync mit effizienter LeistungVerbesserter Realismus mit natürlicheren MundbewegungenVerbesserter Realismus mit emotionalen Ausdrücken
LeistungFür alle Plattformen optimiert, einschließlich Mobilgeräte/VRHö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 nächster NäheEmotionales Geschichtenerzählen, 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 Standardmodell.

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

Leistungsempfehlungen

  • Für die meisten Projekte bietet das Standardmodell 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 (über Runtime Text To Speech)Externe TTS-UnterstützungHinweise
Standardmodell✅ Vollständige Unterstützung✅ Vollständige UnterstützungKompatibel mit allen TTS-Optionen
Realistisches Modell❌ Eingeschränkte Unterstützung✅ Vollständige UnterstützungONNX-Runtime-Konflikte mit lokalem TTS
Stimmungsfähiges Realistisches Modell✅ Vollständige Unterstützung✅ Vollständige 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 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: 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 Standardmodell 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 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, 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