Zum Hauptinhalt springen

Plugin-Konfiguration

Modellkonfiguration​

Realistische Modellgeneratoren für jede Wiedergabe neu erstellen

Für einen zuverlässigen Betrieb mit den Modellen Realistic und Mood-Enabled Realistic sollte der Generator vor jeder neuen Audiowiedergabe neu erstellt werden, anstatt einen über lange Stillephasen hinweg wiederzuverwenden. Weitere Details finden Sie unter Generator Recreation in der Fehlerbehebung.

Standardmodell-Konfiguration​

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

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

Realistische Modellkonfiguration​

Der Node Create Realistic MetaHuman Lip Sync Generator akzeptiert einen optionalen Parameter Configuration, mit dem du das Verhalten des Generators anpassen kannst:

Modelltyp​

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

ModelltypLeistungVisuelle QualitätRauschunterdrückungEmpfohlene Anwendungsfälle
Hoch optimiert (Standard)Höchste Leistung, geringste CPU-AuslastungGute QualitätKann bei Hintergrundgeräuschen oder Nicht-Sprachgeräuschen deutliche Mundbewegungen zeigenSaubere Audioumgebungen, leistungskritische Szenarien
Semi-optimiertGute Leistung, moderate CPU-AuslastungHohe QualitätBessere Stabilität bei verrauschtem AudioAusgewogene Leistung und Qualität, gemischte Audio-Bedingungen
OriginalGeeignet für den Echtzeiteinsatz auf modernen CPUsHöchste QualitätAm stabilsten bei Hintergrundgeräuschen und Nicht-SprachgeräuschenHochwertige Produktionen, verrauschte Audioumgebungen, wenn maximale Genauigkeit erforderlich ist

Leistungseinstellungen​

Intra-Op-Threads: Steuert die Anzahl der Threads, die für interne Modellverarbeitungsvorgänge verwendet werden.

  • 0 (Standard/Automatisch): Verwendet automatische Erkennung (typischerweise 1/4 der verfügbaren CPU-Kerne, maximal 4)
  • 1-16: Thread-Anzahl manuell festlegen. 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 für Echtzeitverarbeitung niedrig gehalten

Verarbeitung der Chunk-Größe​

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

  • Kleinere Werte sorgen für häufigere Aktualisierungen, erhöhen aber die CPU-Auslastung
  • Größere Werte reduzieren die CPU-Last, können aber die Reaktionsfähigkeit des Lip Sync verringern
  • Es wird empfohlen, Vielfache von 160 für eine optimale Ausrichtung zu verwenden

Setting Processing Chunk Size

Stimmungsaktivierte Modellkonfiguration​

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

Grundlegende Konfiguration​

Lookahead Ms: Vorlaufzeit in Millisekunden für eine verbesserte Lip-Sync-Genauigkeit.

  • Standard: 80ms
  • Bereich: 20ms bis 200ms (muss durch 20 teilbar sein)
  • Höhere Werte bieten eine bessere Synchronisierung, erhöhen jedoch 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 dieselben Einstellungen für Intra Op Threads und Inter Op Threads wie das reguläre realistische Modell.

Stimmungseinstellungen​

Verfügbare Stimmungen:

  • Neutral, Fröhlich, Traurig, Ekel, Wut, Überraschung, Angst
  • Selbstbewusst, Aufgeregt, Gelangweilt, Verspielt, Verwirrt

Stimmungsintensität: Steuert, wie stark sich die Stimmung auf die Animation auswirkt (0.0 bis 1.0)

Laufzeit-Stimmungssteuerung​

Sie können die Stimmungseinstellungen zur Laufzeit mit den folgenden Funktionen anpassen:

  • Stimmung festlegen: Ändert den aktuellen Stimmungstyp
  • Stimmungsintensität festlegen: Passt an, wie stark die Stimmung die Animation beeinflusst (0.0 bis 1.0)
  • Lookahead Ms festlegen: Ändert das Lookahead-Timing für die Synchronisierung
  • Ausgabetyp festlegen: Wechselt zwischen Vollgesicht- und Nur-Mund-Steuerung

Mood Configuration

Leitfaden zur Stimmungsauswahl​

Wählen Sie passende Stimmungen basierend auf Ihrem Inhalt aus:

MoodAm besten geeignet fürTypischer Intensitätsbereich
NeutralAllgemeine Konversation, Erzählung, Standardzustand0.5 - 1.0
FröhlichPositive Inhalte, fröhlicher Dialog, Feiern0.6 - 1.0
TraurigMelancholische Inhalte, emotionale Szenen, düstere Momente0.5 - 0.9
EkelNegative Reaktionen, abstoßende Inhalte, Ablehnung0.4 - 0.8
WutAggressiver Dialog, konfrontative Szenen, Frustration0.6 - 1.0
ÜberraschungUnerwartete Ereignisse, Enthüllungen, Schockreaktionen0.7 - 1.0
AngstBedrohliche Situationen, Angstzustände, nervöser Dialog0.5 - 0.9
SelbstbewusstProfessionelle Präsentationen, Führungsdialog, durchsetzungsfähige Sprache0.7 - 1.0
BegeistertEnergiegeladene Inhalte, Ankündigungen, begeisterter Dialog0.8 - 1.0
GelangweiltMonotone Inhalte, desinteressierter Dialog, müde Sprache0.3 - 0.7
VerspieltLässige Konversation, Humor, unbeschwerte Interaktionen0.6 - 0.9
VerwirrtFragenlastiger Dialog, Unsicherheit, Verwirrung0.4 - 0.8

Animation Blueprint-Konfiguration​

Lip-Sync-Konfiguration​

Der Blend Runtime MetaHuman Lip Sync-Node hat Konfigurationsoptionen in seinem Eigenschaftenpanel:

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen den Visemen wechseln. Höhere Werte führen zu schnelleren, abrupteren Übergängen.
Zurücksetzzeit0.2Die Dauer in Sekunden, nach der der Lip Sync zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass der Lip Sync fortgesetzt wird, nachdem das Audio gestoppt wurde.

Lachanimation​

Du kannst auch Lachanimationen hinzufügen, die dynamisch auf im Audio erkanntes Lachen reagieren:

  1. Füge den Node Blend Runtime MetaHuman Laughter hinzu
  2. Verbinde deine Variable RuntimeVisemeGenerator mit dem Pin Viseme Generator
  3. Wenn du bereits Lip Sync verwendest:
    • Verbinde die Ausgabe des Blend Runtime MetaHuman Lip Sync-Nodes mit der Source Pose des Blend Runtime MetaHuman Laughter-Nodes
    • Verbinde die Ausgabe des Blend Runtime MetaHuman Laughter-Nodes mit dem Result-Pin der Output Pose
  4. Wenn nur Lachen ohne Lip Sync verwendet wird:
    • Verbinde deine Quell-Pose direkt mit der Source Pose des Blend Runtime MetaHuman Laughter-Nodes
    • Verbinde die Ausgabe mit dem Result-Pin

Blend Runtime MetaHuman Laughter

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

Lachen-Konfiguration​

Der Node Blend Runtime MetaHuman Laughter hat seine eigenen Konfigurationsoptionen:

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen den Lachanimationen wechseln. Höhere Werte führen zu schnelleren, abrupteren Ü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 nach dem Ende des Audios weiterläuft.
Maximales Lachgewicht0.7Skaliert die maximale Intensität der Lachanimation (0.0 - 1.0).

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

Kombination mit vorhandenen Animationen​

Video-Walkthrough

Du siehst lieber Videos als zu lesen? Schau dir das Video-Tutorial an, das genau diese Einrichtung behandelt.

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

Körperanimationen

Dieses Setup gilt für das Face Animation Blueprint, da Lip Sync nicht Teil des Body Animation Blueprint ist. Für benutzerdefinierte Körperanimationen (z. B. Torso, Arme und andere Körperbewegungen) verbinden Sie einfach Ihre Animationssequenz (über einen Sequence Player) direkt mit der Output Pose im Body Animation Blueprint. Dort ist kein zusätzliches Setup erforderlich.

  1. Füge einen Layered blend per bone-Node zwischen deinen Körperanimationen und der finalen Ausgabe hinzu.
  2. Konfiguriere das Layer-Setup:
    • Füge 1 Element zum Layer Setup-Array hinzu
    • Füge 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ähle in der Curve Blend Option „Use Max Value“ aus. Dadurch können benutzerdefinierte Gesichtsanimationen (Ausdrücke, Emotionen usw.) ordnungsgemäß über die Lip Sync gelegt werden.
  4. Stelle die Verbindungen her:
    • Deine benutzerdefinierte Animation (typischerweise ein Sequence Player mit dem gewünschten Animationssequenz-Asset) → Base Pose-Eingang
    • Gesichtsanimations-Ausgabe (von Lip-Sync- und/oder Lach-Knoten) → Blend Poses 0-Eingang
    • Geschichteter Blend-Knoten → finale Result-Pose

Layered Blend Per Bone

Morph Target-Set-Auswahl​

Das Standardmodell verwendet Pose Assets, die von Natur aus jede beliebige Namenskonvention für Morph Targets durch die Einrichtung eines benutzerdefinierten Pose Assets unterstützen. Es ist keine zusätzliche Konfiguration erforderlich.

Feinabstimmung des Lip-Sync-Verhaltens​

Skalierung spezifischer Lip-Sync-Kurven​

Du kannst einzelne Gesichtsbewegungen, die durch Lip Sync erzeugt werden, mit einem Modify Curve-Node abschwächen (oder verstärken). Das ist nützlich, wenn eine bestimmte Kurve für deinen Audioinhalt oder Charakter zu ausgeprägt wirkt.

Einrichtung:

  1. Füge nach deinem Lip-Sync-Blend-Node einen Modify Curve-Node hinzu
  2. Klicke mit der rechten Maustaste auf den Node und wähle Add Curve Pin aus, dann gib den Namen der Kurve ein, die du skalieren möchtest
  3. Setze die Eigenschaft Apply Mode des Nodes auf Scale
  4. Lege den Parameter Value fest: Werte unter 1,0 dämpfen die Bewegung, Werte über 1,0 verstärken sie (z. B. 0,8 = 20 % Reduktion)

Häufig skalierte Kurven:

KurvennameZweckGilt fürTypische Anpassung
CTRL_expressions_tongueOutVorwärtsbewegung der Zunge bei bestimmten PhonemenStandardmodell0.8, um die Vorwölbung zu verringern
CTRL_expressions_jawOpenÖffnungsbereich des KiefersRealistische Modelle0.9, um die Kieferbewegung zu verringern

Du kannst mehrere Kurven-Pins zum selben Modify Curve-Node hinzufügen, um mehrere Kurven gleichzeitig zu skalieren.

Stimmungsspezifische Feinabstimmung​

Für Modelle mit Stimmungsunterstützung können Sie bestimmte emotionale Ausdrücke feinabstimmen:

Augenbrauen-Steuerung:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - Inneres Anheben der Augenbraue
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - Äußeres Anheben der 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 Wangen

Modellvergleich und -auswahl​

Auswahl zwischen Modellen​

Bei der Entscheidung, welches Lip-Sync-Modell Sie für Ihr Projekt verwenden sollten, berücksichtigen Sie diese Faktoren:

BerücksichtigungStandardmodellRealistisches ModellStimmungsfähiges realistisches Modell
ZeichenkompatibilitätMetaHumans und alle benutzerdefinierten ZeichentypenMetaHumans (und ARKit)-ZeichenMetaHumans (und ARKit)-Zeichen
Visuelle QualitätGute Lip Sync mit effizienter LeistungVerbesserter Realismus mit natürlicheren MundbewegungenVerbesserter Realismus mit emotionalen Ausdrücken
LeistungOptimiert für alle Plattformen einschließlich Mobil/VRHöherer RessourcenbedarfHöherer Ressourcenbedarf
Funktionen14 Viseme, Lacherkennung81 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, MobilFilmische Erlebnisse, Nahaufnahme-InteraktionenEmotionales Geschichtenerzählen, fortgeschrittene Zeicheninteraktion

Engine-Versionskompatibilität​

UE 5.2 Kompatibilitätsproblem

Wenn du Unreal Engine 5.2 verwendest, funktionieren die Realistic Models möglicherweise aufgrund eines Fehlers in der Resampling-Bibliothek von UE nicht korrekt. Für UE 5.2-Nutzer, die eine zuverlässige Lip-Sync-Funktionalität benötigen, verwende bitte stattdessen das Standard Model.

Dieses Problem ist spezifisch für UE 5.2 und betrifft andere Engine-Versionen nicht.

Leistungsempfehlungen​

  • Für die meisten Projekte bietet das Standardmodell eine hervorragende Balance zwischen Qualität und Leistung
  • Verwende das realistische Modell, wenn du die höchste visuelle Wiedergabetreue für MetaHuman-Charaktere benötigst
  • Verwende das stimmungsfähige realistische Modell, wenn die Steuerung des emotionalen Ausdrucks für deine Anwendung wichtig ist
  • Berücksichtige die Leistungsfähigkeit deiner Zielplattform, wenn du zwischen den Modellen wählst
  • Teste verschiedene Optimierungsstufen, um die beste Balance für deinen spezifischen Anwendungsfall zu finden

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 einspeisen möchten. Dies ist auf das Verhalten der ONNX-Laufzeit zurückzuführen, das dazu führen kann, dass die Lippensynchronisation nicht mehr funktioniert, wenn Generatoren nach Phasen der Stille wiederverwendet werden.

Zum Beispiel könntest du den Lip-Sync-Generator bei jedem Wiedergabestart neu erstellen, etwa immer wenn du Play Sound 2D aufrufst oder eine andere Methode verwendest, um die Wiedergabe der Schallwelle und den Lip-Sync zu starten:

Recreate Lip Sync Generator On Play Sound

Plugin-Speicherort für die Runtime Text To Speech-Integration: Wenn Sie Runtime MetaHuman Lip Sync zusammen mit Runtime Text To Speech verwenden (beide Plugins nutzen ONNX Runtime), können Probleme auftreten, wenn die Plugins im Marketplace-Ordner der Engine installiert sind. So beheben Sie das:

  1. Finde beide Plugins in deinem UE-Installationsordner unter \Engine\Plugins\Marketplace (z. B. C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace)
  2. Verschiebe sowohl den Ordner RuntimeMetaHumanLipSync als auch den Ordner RuntimeTextToSpeech in den Ordner Plugins deines Projekts
  3. Wenn dein Projekt keinen Ordner Plugins hat, erstelle einen im selben Verzeichnis wie deine .uproject-Datei
  4. Starte den Unreal Editor neu

Dies behebt Kompatibilitätsprobleme, die auftreten können, wenn mehrere auf ONNX Runtime basierende Plugins aus dem Marketplace-Verzeichnis der Engine geladen werden.

Packaging-Konfiguration (Windows): Wenn Lip Sync in Ihrem gepackten Projekt unter Windows nicht korrekt funktioniert, stellen Sie sicher, dass Sie die Shipping-Build-Konfiguration anstelle von Development verwenden. Die Development-Konfiguration kann Probleme mit der ONNX-Runtime für realistische Modelle in gepackten Builds verursachen.

Um dies zu beheben:

  1. In deinen Projekteinstellungen → Packaging, setze die Build-Konfiguration auf Shipping
  2. Verpacke dein Projekt neu

Shipping Configuration

Nur-Blueprint-Projekte

In manchen Blueprint-only-Projekten baut Unreal Engine möglicherweise trotzdem in der Development-Konfiguration, selbst wenn Shipping ausgewählt ist. Wenn dies passiert, konvertiere dein Projekt in ein C++-Projekt, indem du mindestens eine C++-Klasse hinzufügst (sie kann leer sein). Gehe dazu im UE-Editor-Menü zu Tools → New C++ Class und erstelle eine leere Klasse. Dadurch wird das Projekt gezwungen, korrekt in der Shipping-Konfiguration zu bauen. Dein Projekt kann funktional Blueprint-only bleiben, die C++-Klasse wird nur für die korrekte Build-Konfiguration benötigt.

Beeinträchtigte Lip-Sync-Reaktionsfähigkeit: Wenn Sie feststellen, dass die Lip-Sync-Reaktionsfähigkeit bei Verwendung von Streaming Sound Wave oder Capturable Sound Wave mit der Zeit nachlässt, kann dies durch Speicheransammlung verursacht werden. Standardmäßig wird der Speicher jedes Mal neu zugewiesen, wenn neues Audio angehängt wird. Um dieses Problem zu vermeiden, rufen Sie die Funktion ReleaseMemory regelmäßig auf, um angesammelten Speicher freizugeben, etwa alle 30 Sekunden.

Leistungsoptimierung:

  • Passen Sie die Verarbeitungs-Chunk-Größe für Realistic-Modelle an Ihre Leistungsanforderungen an
  • Verwenden Sie geeignete Thread-Anzahlen für Ihre Zielhardware
  • Erwägen Sie die Verwendung des Ausgabetyps „Nur Mund“ für mood-fähige Modelle, wenn keine vollständige Gesichtsanimation benötigt wird