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 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 Einstellung Model Type bestimmt, welche Version des realistischen Modells verwendet wird:

ModelltypLeistungVisuelle QualitätRauschunterdrückungEmpfohlene Anwendungsfälle
Highly Optimized (Standard)Höchste Leistung, niedrigste CPU-AuslastungGute QualitätKann bei Hintergrundgeräuschen oder Nicht-Sprachlauten merkliche Mundbewegungen zeigenSaubere Audio-Umgebungen, leistungskritische Szenarien
Semi-OptimizedGute 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-SprachlautenHochwertige 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 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 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 Updates, erhöhen aber die CPU-Auslastung
  • Größere Werte reduzieren die CPU-Last, können aber die Lippenbewegungs-Reaktionsfähigkeit 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 Lippenbewegungs-Genauigkeit.

  • Standard: 80ms
  • Bereich: 20ms bis 200ms (muss durch 20 teilbar sein)
  • Höhere Werte bieten 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 Zungen-bezogene 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 Stimmungseinstellungen während der Laufzeit mit den folgenden Funktionen anpassen:

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

Mood Configuration

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

Lippenbewegungs-Konfiguration

Der Blend Runtime MetaHuman Lip Sync-Knoten hat Konfigurationsoptionen in seinem Eigenschaften-Bedienfeld:

EigenschaftStandardBeschreibung
Interpolation Speed25Steuert, wie schnell die Lippenbewegungen zwischen Visemen übergehen. Höhere Werte führen zu schnelleren, abrupten Übergängen.
Reset Time0.2Die Dauer in Sekunden, nach der die Lippenbewegung zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass die Lippenbewegung fortgesetzt wird, nachdem das Audio gestoppt hat.

Lachen-Animation

Sie können auch Lachen-Animationen hinzufügen, die dynamisch auf im Audio 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 Lippenbewegung verwenden:
    • Verbinden Sie die Ausgabe vom Blend Runtime MetaHuman Lip Sync-Knoten 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 Lippenbewegung 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 im Audio erkannt wird, wird Ihre Figur entsprechend dynamisch animiert:

Laughter

Lachen-Konfiguration

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

EigenschaftStandardBeschreibung
Interpolation Speed25Steuert, wie schnell die Lippenbewegungen zwischen Lachen-Animationen übergehen. Höhere Werte führen zu schnelleren, abrupten Übergängen.
Reset Time0.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.
Max Laughter Weight0.7Skaliert die maximale Intensität der Lachen-Animation (0.0 - 1.0).

Hinweis: Lachen-Erkennung ist derzeit nur mit dem Standard-Modell verfügbar.

Kombination mit bestehenden Animationen

Um Lippenbewegung und Lachen neben 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 true ist.
  2. Konfigurieren Sie das Layer-Setup:
    • Fügen Sie 1 item zum Layer Setup-Array hinzu
    • Fügen Sie 3 items 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, etc.) korrekt über der Lippenbewegung zu schichten.
  4. Stellen Sie die Verbindungen her:
    • Bestehende Animationen (wie BodyPose) → Base Pose-Eingabe
    • Gesichtsanimationsausgabe (von Lippenbewegungs- und/oder Lachen-Knoten) → Blend Poses 0-Eingabe
    • Layered blend-Knoten → Endgültige Result-Pose

Layered Blend Per Bone

Morph-Target-Set-Auswahl

Das Standard-Modell verwendet Pose-Assets, die durch das benutzerdefinierte Pose-Asset-Setup inhärent jede Morph-Target-Namenskonvention unterstützen. Keine zusätzliche Konfiguration ist erforderlich.

Feinabstimmung des Lippenbewegungs-Verhaltens

Zungenvorstoß-Steuerung

Im Standard-Lippenbewegungsmodell können Sie übermäßige Vorwärtsbewegung der Zunge während bestimmter Phoneme bemerken. Um den Zungenvorstoß zu steuern:

  1. Fügen Sie nach Ihrem Lippenbewegungs-Blend-Knoten einen Modify Curve-Knoten hinzu
  2. Klicken Sie mit der rechten Maustaste auf den Modify Curve-Knoten 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 Knotens 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öffnungs-Steuerung

Die realistische Lippenbewegung kann übermäßig responsive Kieferbewegungen erzeugen, abhängig von Ihrem Audioinhalt und visuellen Anforderungen. Um die Kieferöffnungsintensität anzupassen:

  1. Fügen Sie nach Ihrem Lippenbewegungs-Blend-Knoten einen Modify Curve-Knoten hinzu
  2. Klicken Sie mit der rechten Maustaste auf den Modify Curve-Knoten 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 Knotens 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)

Stimmungsspezifische Feinabstimmung

Für stimmungsfähige Modelle können Sie spezifische emotionale Ausdrücke feinabstimmen:

Augenbrauen-Steuerung:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - Innere Augenbrauenhebung
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - Äußere Augenbrauenhebung
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - Augenbrauensenkung

Augenausdrucks-Steuerung:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - Augen-Zusammenkneifen
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - Wangenhebung

Modellvergleich und -auswahl

Auswahl zwischen Modellen

Berücksichtigen Sie bei der Entscheidung, welches Lippenbewegungsmodell Sie für Ihr Projekt verwenden, diese Faktoren:

ÜberlegungStandard-ModellRealistisches ModellStimmungsfähiges Realistisches Modell
Charakter-KompatibilitätMetaHumans und alle benutzerdefinierten CharaktertypenNur MetaHumansNur MetaHumans
Visuelle QualitätGute Lippenbewegung mit effizienter LeistungVerbesserter Realismus mit natürlicheren MundbewegungenVerbesserter Realismus mit emotionalen Ausdrücken
LeistungFür alle Plattformen inklusive Mobile/VR optimiertHöhere RessourcenanforderungenHöhere Ressourcenanforderungen
Funktionen14 Viseme, Lachen-Erkennung81 Gesichtssteuerungen, 3 Optimierungsstufen81 Gesichtssteuerungen, 12 Stimmungen, konfigurierbare Ausgabe
Plattform-UnterstützungWindows, Android, QuestWindows, Mac, iOS, Linux, Android, QuestWindows, Mac, iOS, Linux, Android, Quest
AnwendungsfälleAllgemeine Anwendungen, Spiele, VR/AR, MobileFilmische Erfahrungen, Nahaufnahme-InteraktionenEmotionales Storytelling, fortgeschrittene 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 zuverlässige Lippenbewegungsfunktionalität benötigen, verwenden Sie bitte stattdessen das Standard-Modell.

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

Leistungsempfehlungen

  • Für die meisten Projekte bietet das Standard-Modell eine ausgezeichnete Balance aus Qualität und Leistung
  • Verwenden Sie das Realistische Modell, wenn Sie die höchste visuelle Wiedergabetreue für MetaHuman-Figuren benötigen
  • Verwenden Sie das Stimmungsfähige Realistische Modell, wenn emotionale Ausdruckssteuerung für Ihre Anwendung wichtig ist
  • Berücksichtigen Sie die Leistungsfähigkeiten Ihrer Zielplattform bei der Modellauswahl
  • Testen Sie verschiedene Optimierungsstufen, um die beste Balance für Ihren spezifischen Anwendungsfall zu finden

TTS-Kompatibilität

ModelltypLokale TTS-Unterstützung (via Runtime Text To Speech)Externe TTS-UnterstützungHinweise
Standard-Modell✅ Volle Unterstützung✅ Volle UnterstützungKompatibel mit allen TTS-Optionen
Realistisches Modell❌ Eingeschränkte Unterstützung✅ Volle UnterstützungONNX-Laufzeitkonflikte mit lokaler TTS
Stimmungsfähiges Realistisches Modell✅ Volle Unterstützung✅ Volle UnterstützungKompatibel mit allen TTS-Optionen

Fehlerbehebung

Häufige Probleme

Generator-Neuerstellung für Realistische Modelle: Für zuverlässigen und konsistenten Betrieb mit den Realistischen Modellen wird empfohlen, den Generator jedes Mal neu zu erstellen, wenn Sie nach einer Inaktivitätsperiode neue Audiodaten zuführen möchten. Dies liegt am ONNX-Laufzeitverhalten, das dazu führen kann, dass die Lippenbewegung aufhört zu funktionieren, wenn Generatoren nach Stilleperioden wiederverwendet werden.

Lokale TTS-Kompatibilität: Lokale TTS, bereitgestellt durch das Runtime Text To Speech-Plugin, wird derzeit nicht mit dem regulären Realistischen Modell unterstützt aufgrund von ONNX-Laufzeitkonflikten. Sie ist jedoch vollständig kompatibel mit sowohl dem Standard-Modell 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 Lippenbewegungs-Reaktionsfähigkeit: Wenn Sie feststellen, dass die Lippenbewegung mit der Zeit weniger responsiv wird bei Verwendung von Streaming Sound Wave oder Capturable Sound Wave, kann dies durch Speicheranhäufung verursacht werden. Standardmäßig wird Speicher jedes Mal neu zugewiesen, wenn neues Audio angehängt wird. Um dieses Problem zu verhindern, rufen Sie die ReleaseMemory-Funktion periodisch auf, um angesammelten Speicher freizugeben, z.B. alle 30 Sekunden oder so.

Leistungsoptimierung:

  • Passen Sie die Processing Chunk Size für Realistische Modelle 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 stimmungsfähige Modelle, wenn vollständige Gesichtsanimation nicht benötigt wird