Zum Hauptinhalt springen

Plugin-Konfiguration

Modellkonfiguration

Erstelle realistische Modellgeneratoren für jede Wiedergabe.

Für einen zuverlässigen Betrieb mit den Realistic- und Mood-Enabled-Realistic-Modellen erstellen Sie den Generator vor jeder neuen Audiowiedergabe neu, anstatt ihn über lange Stille hinweg wiederzuverwenden. Einzelheiten finden Sie unter Neuerstellung des Generators in der Fehlerbehebung.

Standardmodellkonfiguration

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

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

Realistische Modellkonfiguration

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

Modelltyp

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

ModelltypLeistungVisuelle QualitätStörgeräuschverhaltenEmpfohlene Anwendungsfälle
Hochoptimiert (Standard)Höchste Leistung, geringste CPU-AuslastungGute QualitätKann bei Hintergrundgeräuschen oder nicht-sprachlichen Geräuschen deutlich sichtbare Mundbewegungen zeigenSaubere Audio-Umgebungen, leistungskritische Szenarien
TeiloptimiertGute Leistung, mäßige CPU-AuslastungHohe QualitätBessere Stabilität bei verrauschtem AudioAusgewogene Leistung und Qualität, gemischte Audio-Umgebungen
OriginalGeeignet für den Echtzeiteinsatz auf modernen CPUsHöchste QualitätAm stabilsten bei Hintergrundgeräuschen und nicht-sprachlichen GeräuschenHochwertige Produktionen, verrauschte Audio-Umgebungen, wenn maximale Genauigkeit erforderlich ist

Leistungseinstellungen

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

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

Verarbeitungsblockgröße

Die Verarbeitungs-Chunk-Größe 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 Updates, erhöhen aber die CPU-Auslastung.
  • Größere Werte reduzieren die CPU-Last, können aber die Lip-Sync-Reaktionsfähigkeit verringern.
  • Für eine optimale Ausrichtung wird empfohlen, Vielfache von 160 zu verwenden.

Setting Processing Chunk Size

Stimmungsbasierte Modellkonfiguration

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

Basiskonfiguration

Lookahead Ms: Lookahead-Zeit in Millisekunden für eine verbesserte Lippensynchronisationsgenauigkeit.

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

Ausgabetyp: Steuert, welche Gesichtssteuerungen generiert werden.

  • Ganzes Gesicht: Alle 81 Gesichtssteuerungen (Augenbrauen, Augen, Nase, Mund, Kiefer, Zunge)
  • Nur Mund: Nur Steuerungen für Mund, Kiefer und Zunge

Leistungseinstellungen: Verwendet dieselben 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-Stimmungskontrolle

Sie können die Stimmungseinstellungen während der 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 die Lookahead-Zeit für die Synchronisierung
  • Ausgabetyp festlegen: Wechselt zwischen Ganzgesicht- und Nur-Mund-Steuerung

Mood Configuration

Leitfaden zur Stimmungsauswahl

Wählen Sie passende Stimmungen basierend auf Ihrem Inhalt:

MoodAm besten fürTypischer Intensitätsbereich
NeutralAllgemeine Konversation, Erzählung, Standardzustand0,5 - 1,0
GlücklichPositive Inhalte, fröhliche Dialoge, Feierlichkeiten0.6 - 1.0
TraurigMelancholischer Inhalt, emotionale Szenen, düstere Momente.0.5 - 0.9
EkelNegative Reaktionen, geschmackloser Inhalt, Ablehnung.0.4 - 0.8
WutAggressiver Dialog, konfrontative Szenen, Frustration0.6 - 1.0
ÜberraschungUnerwartete Ereignisse, Enthüllungen, Schockreaktionen0.7 - 1.0
AngstBedrohliche Situationen, Angst, nervöser Dialog0.5 - 0.9
SelbstbewusstProfessionelle Präsentationen, Führungsdialog, selbstbewusstes Sprechen0.7 - 1.0
AufgeregtEnergetische Inhalte, Ankündigungen, enthusiastischer Dialog0,8 - 1,0
gelangweiltMonotoner Inhalt, desinteressierter Dialog, müde Sprache.0.3 - 0.7
VerspieltZwanglose Unterhaltung, Humor, unbeschwerte Interaktionen.0.6 - 0.9
VerwirrtFragelastiger Dialog, Unsicherheit, Verwirrung0.4 - 0.8

Animation Blueprint Konfiguration

Lip Sync-Konfiguration

Der Knoten Blend Runtime MetaHuman Lip Sync verfügt über Konfigurationsoptionen in seinem Eigenschaftenbereich:

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen Visemen wechseln. Höhere Werte führen zu schnelleren, abrupteren Übergängen.
Rü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 wurde.

Lach-Animation

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

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

Blend Runtime MetaHuman Laughter

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

Lachkonfiguration

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

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit25Steuert, wie schnell die Lippenbewegungen zwischen Lachanimationen wechseln. Höhere Werte führen zu schnelleren, abrupteren Übergängen.
Rücksetzzeit0.2Die Dauer in Sekunden, nach der das Lachen zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass das Lachen nach dem Stoppen des Audios fortgesetzt wird.
Maximales Lachgewicht0.7Skaliert die maximale Intensität der Lachanimation (0.0 - 1.0).

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

Kombinieren mit vorhandenen Animationen

Video-Durchlauf

Ziehst du Videos dem Lesen vor? 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 sie zu überschreiben:

Körperanimationen

Dieses Setup gilt für das Gesichts-Animation-Blueprint, da die Lippensynchronisation nicht Teil des Körper-Animation-Blueprints ist. Für benutzerdefinierte Körperanimationen (z. B. Rumpf, Arme und andere Körperbewegungen) verbinden Sie einfach Ihre Animationssequenz (über einen Sequence Player) direkt mit der Ausgabepose im Körper-Animation-Blueprint. Dort ist keine zusätzliche Einrichtung erforderlich.

  1. Fügen Sie einen Layered blend per bone-Knoten zwischen Ihren Körperanimationen und der finalen Ausgabe hinzu. Stellen Sie sicher, dass Use Attached Parent auf true gesetzt ist.
  2. Konfigurieren Sie das Layer-Setup:
    • Fügen Sie dem Layer Setup-Array 1 Element hinzu.
    • Fügen Sie 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 die Option "Use Max Value". Dadurch können benutzerdefinierte Gesichtsanimationen (Ausdrücke, Emotionen usw.) ordnungsgemäß über dem Lip Sync geschichtet werden.
  4. Stellen Sie die Verbindungen her:
    • Ihre benutzerdefinierte Animation (in der Regel ein Sequence Player mit dem gewünschten Animationssequenz-Asset) → Base Pose-Eingang
    • Ausgabe der Gesichtsanimation (von Lip-Sync- und/oder Lachknoten) → Blend Poses 0-Eingang
    • Ebenen-Überblendungsknoten → finale Result-Pose

Layered Blend Per Bone

Auswahl des Morph-Ziel-Satzes

Das Standardmodell verwendet Pose-Assets, die über das benutzerdefinierte Pose-Asset-Setup von Natur aus jede Morph-Target-Benennungskonvention unterstützen. Es ist keine weitere Konfiguration erforderlich.

Feinabstimmung des Lip-Sync-Verhaltens

Skalierung spezifischer Lip-Sync-Kurven

Sie können einzelne Gesichtsbewegungen, die durch die Lippensynchronisation erzeugt werden, mithilfe eines Modify Curve-Knotens abschwächen (oder verstärken). Dies ist nützlich, wenn eine bestimmte Kurve für Ihr Audiomaterial oder Ihren Charakter zu ausgeprägt wirkt.

Einrichtung:

  1. Fügen Sie nach Ihrem Blend-Knoten für Lip Sync einen Modify Curve-Knoten hinzu.
  2. Klicken Sie mit der rechten Maustaste auf den Knoten, wählen Sie Add Curve Pin und geben Sie dann den Namen der Kurve ein, die Sie skalieren möchten.
  3. Setzen Sie die Eigenschaft Apply Mode des Knotens auf Scale.
  4. Stellen Sie den Parameter Value ein: Werte unter 1,0 dämpfen die Bewegung, Werte über 1,0 verstärken sie (z. B. 0,8 = 20 % Reduzierung).

Häufig skalierte Kurven:

KurvennameZweckGilt fürTypische Anpassung
CTRL_expressions_tongueOutVorwärtsstrecken der Zunge bei bestimmten PhonemenStandardmodell0.8 zur Reduzierung des Herausstreckens
CTRL_expressions_jawOpenKieferöffnungsbereichRealistische Modelle0.9 zur Reduzierung der Kieferbewegung

Sie können mehrere Kurven-Pins zum selben Modify Curve-Knoten hinzufügen, um mehrere Kurven gleichzeitig zu skalieren.

Stimmungsspezifische Feinabstimmung

Bei stimmungsfähigen Modellen 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 - Augenzusammenkneifen
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - Wangenheben

Modellvergleich und -auswahl

Auswahl zwischen Modellen

Bei der Wahl des Lip-Sync-Modells für Ihr Projekt sollten Sie diese Faktoren berücksichtigen:

ÜberlegungStandardmodellRealistisches ModellStimmungsgesteuertes realistisches Modell
CharakterkompatibilitätMetaHumans und alle benutzerdefinierten CharaktertypenMetaHumans (und ARKit) CharaktereMetaHumans (und ARKit) Charaktere
Visuelle QualitätGute Lippensynchronisation mit effizienter LeistungVerbesserter Realismus mit natürlicheren MundbewegungenVerbesserter Realismus mit emotionalen Ausdrücken
LeistungOptimiert für alle Plattformen, einschließlich Mobilgeräte/VR.Höhere RessourcenanforderungenHöhere Ressourcenanforderungen
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, erweiterte Charakterinteraktion

Engine-Versionskompatibilität

UE 5.2 Kompatibilitätsproblem

Wenn Sie Unreal Engine 5.2 verwenden, funktionieren die Realistic Models möglicherweise nicht korrekt, da ein Fehler in der Resampling-Bibliothek von UE vorliegt. Für Benutzer von UE 5.2, die eine zuverlässige Lippensynchronisation benötigen, verwenden Sie bitte stattdessen das Standard Model.

Dieses Problem betrifft speziell UE 5.2 und wirkt sich nicht auf andere Engine-Versionen aus.

Leistungsempfehlungen

  • Für die meisten Projekte bietet das Standardmodell eine hervorragende Balance zwischen 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 realistische Modell mit Stimmungssteuerung, wenn die Steuerung des emotionalen Ausdrucks für Ihre Anwendung wichtig ist.
  • Berücksichtigen Sie die Leistungsfähigkeiten Ihrer Zielplattform, wenn Sie zwischen Modellen wählen.
  • Testen Sie verschiedene Optimierungsstufen, um die beste Balance für Ihren spezifischen Anwendungsfall zu finden.

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 Zeit der Inaktivität neue Audiodaten einspeisen möchten. Dies liegt am Verhalten der ONNX Runtime, das dazu führen kann, dass die Lippensynchronisation nicht mehr funktioniert, wenn Generatoren nach Phasen der Stille wiederverwendet werden.

Zum Beispiel könnten Sie den Lip-Sync-Generator bei jedem Wiedergabestart neu erstellen, etwa wenn Sie Play Sound 2D aufrufen oder eine andere Methode verwenden, um die Sound-Wave-Wiedergabe und 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 verwenden ONNX Runtime), können Probleme auftreten, wenn die Plugins im Marketplace-Ordner der Engine installiert sind. So beheben Sie das Problem:

  1. Suchen Sie beide Plugins in Ihrem UE-Installationsordner unter \Engine\Plugins\Marketplace (z. B. C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace)
  2. Verschieben Sie sowohl den Ordner RuntimeMetaHumanLipSync als auch den Ordner RuntimeTextToSpeech in den Plugins-Ordner Ihres Projekts
  3. Falls Ihr Projekt keinen Plugins-Ordner hat, erstellen Sie einen im selben Verzeichnis wie Ihre .uproject-Datei
  4. Starten Sie 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 die Lippensynchronisation in Ihrem paketierten Projekt unter Windows nicht korrekt funktioniert, stellen Sie sicher, dass Sie die Shipping-Buildkonfiguration anstelle von Development verwenden. Die Development-Konfiguration kann Probleme mit der ONNX Runtime der realistischen Modelle in paketierten Builds verursachen.

Um das zu beheben:

  1. Stellen Sie in Ihren Projekteinstellungen → Paketierung die Build-Konfiguration auf Shipping ein.
  2. Paketieren Sie Ihr Projekt neu.

Shipping Configuration

Nur-Blueprint-Projekte

In manchen Projekten, die nur Blueprints verwenden, erstellt Unreal Engine möglicherweise weiterhin in der Development-Konfiguration, selbst wenn Shipping ausgewählt ist. Falls das passiert, konvertieren Sie Ihr Projekt in ein C++-Projekt, indem Sie mindestens eine C++-Klasse hinzufügen (sie kann leer sein). Gehen Sie dazu im UE-Editor-Menü zu Werkzeuge → Neue C++-Klasse und erstellen Sie eine leere Klasse. Dies erzwingt, dass das Projekt korrekt in der Shipping-Konfiguration erstellt wird. Ihr Projekt kann funktional ein reines Blueprint-Projekt bleiben; die C++-Klasse wird lediglich für die korrekte Build-Konfiguration benötigt.

Verminderte Lip-Sync-Reaktionsfähigkeit: Wenn Sie feststellen, dass die Lip-Sync-Reaktionsfähigkeit im Laufe der Zeit nachlässt, wenn Sie Streaming Sound Wave oder Capturable Sound Wave verwenden, kann dies durch Speicheransammlung verursacht werden. Standardmäßig wird der Speicher jedes Mal neu zugewiesen, wenn neue Audiodaten angehängt werden. 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 Verarbeitungschunkgröße für realistische Modelle basierend auf Ihren Leistungsanforderungen an
  • Verwenden Sie passende Threadanzahlen für Ihre Zielhardware
  • Ziehen Sie in Betracht, den Ausgabetyp „Mouth Only“ für stimmungsfähige Modelle zu verwenden, wenn keine vollständige Gesichtsanimation erforderlich ist