Zum Hauptinhalt springen

Plugin-Konfiguration

Modellkonfiguration​

Erstelle realistische Modellgeneratoren für jede Wiedergabe neu

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 ihn ü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 Blending-Nodes im Animation Blueprint.

Für die 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 Modelltyp 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-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 Audiobedingungen
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 Verarbeitungsvorgänge des Modells 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 Mehrkernsystemen 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 festlegen. Wird für die Echtzeitverarbeitung normalerweise 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 liefern 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

Konfiguration des stimmungsfähigen Modells​

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

Grundkonfiguration​

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

  • Standard: 80ms
  • Bereich: 20ms bis 200ms (muss durch 20 teilbar sein)
  • Höhere Werte sorgen für eine bessere Synchronisierung, erhöhen jedoch die Latenz

Ausgabetyp: Legt fest, welche Gesichtskontrollen generiert werden.

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

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 die Stimmung die Animation beeinflusst (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 den Steuerungen „Ganzes Gesicht" und „Nur Mund"

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, heitere Dialoge, Feierlichkeiten0.6 - 1.0
TraurigMelancholische Inhalte, emotionale Szenen, bedrückende Momente0.5 - 0.9
EkelNegative Reaktionen, abstoßende Inhalte, Ablehnung0.4 - 0.8
WutAggressive Dialoge, konfrontative Szenen, Frustration0.6 - 1.0
ÜberraschungUnerwartete Ereignisse, Enthüllungen, Schockreaktionen0.7 - 1.0
AngstBedrohliche Situationen, Beklemmung, nervöse Dialoge0.5 - 0.9
SelbstbewusstProfessionelle Präsentationen, Führungsdialoge, bestimmte Sprechweise0.7 - 1.0
BegeistertEnergiegeladene Inhalte, Ankündigungen, enthusiastische Dialoge0.8 - 1.0
GelangweiltMonotone Inhalte, desinteressierte Dialoge, müde Sprechweise0.3 - 0.7
VerspieltLässige Konversation, Humor, unbeschwerte Interaktionen0.6 - 0.9
VerwirrtFragenlastige Dialoge, Unsicherheit, Ratlosigkeit0.4 - 0.8

Animation Blueprint-Konfiguration​

Lip-Sync-Konfiguration​

Der Node Blend Runtime MetaHuman Lip Sync verfügt in seinem Eigenschaftenpanel über Konfigurationsoptionen:

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen Visemen wechseln. Höhere Werte führen zu schnelleren, abrupteren Übergängen.
Zurücksetzungszeit0.2Die Dauer in Sekunden, nach der das Lip Sync zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass das Lip Sync nach dem Ende der Audioausgabe weiterläuft.

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 verfügt über eigene Konfigurationsoptionen:

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen den Lachanimationen übergehen. Höhere Werte führen zu schnelleren, abrupteren Übergängen.
Zurücksetzungszeit0.2Die Dauer in Sekunden, nach der das Lachen zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass das Lachen nach dem Ende der Audioausgabe 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

Siehst du lieber zu, statt zu lesen? Schau dir das Video-Tutorial an, das genau diese Einrichtung behandelt.

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

Körperanimationen

Diese Einrichtung gilt für das Animation Blueprint des Gesichts, da Lip Sync nicht Teil des Animation Blueprint des Körpers 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 Ausgabepose im Animation Blueprint des Körpers. Dort ist keine zusätzliche Einrichtung 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 Array Layer Setup hinzu
    • Füge 3 Elemente zu den Branch Filters für die Ebene 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 „Use Max Value" aus. Dadurch können benutzerdefinierte Gesichtsanimationen (Ausdrücke, Emotionen usw.) ordnungsgemäß über dem Lip Sync eingeblendet werden.
  4. Stellen Sie die Verbindungen her:
    • Deine benutzerdefinierte Animation (typischerweise ein Sequence Player mit dem gewünschten Animationssequenz-Asset) → Base Pose-Eingang
    • Gesichtsanimation-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 Namenskonvention für Morph Targets über das individuelle Pose-Asset-Setup 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 dämpfen (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, dann gib den Namen der Kurve ein, die du skalieren möchtest
  3. Setze die Eigenschaft Apply Mode des Nodes auf Scale
  4. Setze den Parameter Value: 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 das Hervortreten zu reduzieren
CTRL_expressions_jawOpenÖffnungsbereich des KiefersRealistische Modelle0.9, um die Kieferbewegung zu reduzieren

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

Stimmungsabhängige 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 – Augen zusammenkneifen
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR – Wangenheben

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:

Zu berücksichtigenStandardmodellRealistisches ModellRealistisches Modell mit Stimmungen
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 Storytelling, fortgeschrittene Zeicheninteraktion

Kompatibilität der Engine-Version​

UE 5.2 Kompatibilitätsproblem

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

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 liegt am Verhalten der ONNX-Laufzeit, das dazu führen kann, dass die Lippen synchronisation 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 das Lip-Sync zu starten:

Recreate Lip Sync Generator On Play Sound

Speicherort des Plugins 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.

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

Um das zu beheben:

  1. In den Projekteinstellungen → Packaging stellst du die Build-Konfiguration auf Shipping ein
  2. Packe dein Projekt neu

Shipping Configuration

Nur-Blueprint-Projekte

In einigen reinen Blueprint-Projekten kann Unreal Engine selbst dann noch in der Development-Konfiguration bauen, 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 weiterhin rein auf Blueprint basieren; die C++-Klasse wird nur für eine ordnungsgemäße 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 den angesammelten Speicher freizugeben, etwa alle 30 Sekunden.

Leistungsoptimierung:

  • Passe die Verarbeitungs-Chunk-Größe für Realistic-Modelle an deine Leistungsanforderungen an
  • Verwende geeignete Thread-Anzahlen für deine Zielhardware
  • Erwäge die Verwendung des Ausgabetyps „Nur Mund“ für Modelle mit Stimmungsunterstützung, wenn keine vollständige Gesichtsanimation benötigt wird