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 verwaltet.
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, mit dem Sie das Verhalten des Generators anpassen können:
Modelltyp
Die Model Type-Einstellung bestimmt, welche Version des realistischen Modells verwendet werden soll:
Modelltyp | Leistung | Visuelle Qualität | Rauschbehandlung | Empfohlene Anwendungsfälle |
---|---|---|---|---|
Hochoptimiert (Standard) | Höchste Leistung, niedrigste CPU-Auslastung | Gute Qualität | Kann merkliche Mundbewegungen bei Hintergrundgeräuschen oder Nicht-Sprach-Geräuschen zeigen | Saubere Audio-Umgebungen, leistungskritische Szenarien |
Teiloptimiert | Gute Leistung, moderate CPU-Auslastung | Hohe Qualität | Bessere Stabilität bei verrauschtem Audio | Ausgewogene Leistung und Qualität, gemischte Audio-Bedingungen |
Original | Geeignet für Echtzeitanwendung auf modernen CPUs | Höchste Qualität | Stabilste Leistung bei Hintergrundgeräuschen und Nicht-Sprach-Geräuschen | Hochwertige 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 für die Echtzeitverarbeitung normalerweise niedrig 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 Aktualisierungen, erhöhen aber die CPU-Auslastung
- Größere Werte reduzieren die CPU-Last, können aber die Lippen-Sync-Reaktionsfähigkeit verringern
- Empfohlen werden Vielfache von 160 für eine optimale Ausrichtung
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
Output Type: Steuert, welche Gesichtssteuerungen generiert werden.
- Full Face: Alle 81 Gesichtssteuerungen (Augenbrauen, Augen, Nase, Mund, Kiefer, Zunge)
- Mouth Only: Nur mund-, kiefer- und zungenbezogene Steuerungen
Performance Settings: Verwendet die gleichen Intra Op Threads und Inter Op Threads Einstellungen wie das reguläre realistische Modell.
Mood Settings
Available Moods:
- 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)
Runtime Mood Control
Sie können die 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 Lookahead-Zeit für die Synchronisation
- Set Output Type: Wechselt zwischen Full Face und Mouth Only Steuerungen
Mood Selection Guide
Wählen Sie geeignete Stimmungen basierend auf Ihrem Inhalt:
Stimmung | Am besten geeignet für | Typischer Intensitätsbereich |
---|---|---|
Neutral | Allgemeine Konversation, Erzählung, Standardzustand | 0.5 - 1.0 |
Happy | Positive Inhalte, fröhliche Dialoge, Feierlichkeiten | 0.6 - 1.0 |
Sad | Melancholische Inhalte, emotionale Szenen, düstere Momente | 0.5 - 0.9 |
Disgust | Negative Reaktionen, widerliche Inhalte, Ablehnung | 0.4 - 0.8 |
Anger | Aggressive Dialoge, konfrontative Szenen, Frustration | 0.6 - 1.0 |
Surprise | Unerwartete Ereignisse, Enthüllungen, Schockreaktionen | 0.7 - 1.0 |
Fear | Bedrohliche Situationen, Angst, nervöse Dialoge | 0.5 - 0.9 |
Confident | Professionelle Präsentationen, Führungsdialoge, bestimmte Sprache | 0.7 - 1.0 |
Excited | Energetische Inhalte, Ankündigungen, enthusiastische Dialoge | 0.8 - 1.0 |
Bored | Monotone Inhalte, desinteressierte Dialoge, müde Sprache | 0.3 - 0.7 |
Playful | Gelegentliche Konversation, Humor, unbeschwerte Interaktionen | 0.6 - 0.9 |
Confused | Fragenreiche Dialoge, Unsicherheit, Verwirrung | 0.4 - 0.8 |
Animation Blueprint Configuration
Lip Sync Configuration
- Standard-Modell
- Realistische Modelle
Der Blend Runtime MetaHuman Lip Sync
-Knoten hat Konfigurationsoptionen in seinem Eigenschaften-Bedienfeld:
Eigenschaft | Standard | Beschreibung |
---|---|---|
Interpolationsgeschwindigkeit | 25 | Steuert, wie schnell die Lippenbewegungen zwischen Visemen übergehen. Höhere Werte führen zu schnelleren, abrupten Übergängen. |
Zurücksetzzeit | 0.2 | Die Dauer in Sekunden, nach der die Lippen-Synchronisation zurückgesetzt wird. Dies ist nützlich, um zu verhindern, dass die Lippen-Synchronisation fortgesetzt wird, nachdem das Audio gestoppt hat. |
Der Blend Realistic MetaHuman Lip Sync
-Knoten hat Konfigurationsoptionen in seinem Eigenschaften-Bedienfeld:
Eigenschaft | Standard | Beschreibung |
---|---|---|
Interpolationsgeschwindigkeit | 30 | Steuert, wie schnell Gesichtsausdrücke während aktiver Sprache übergehen. Höhere Werte führen zu schnelleren, abrupten Übergängen. |
Leerlauf-Interpolationsgeschwindigkeit | 15 | Steuert, wie schnell Gesichtsausdrücke in den Leerlauf-/Neutralzustand zurückkehren. Niedrigere Werte erzeugen glattere, allmählichere Rückkehr zur Ruhepose. |
Zurücksetzzeit | 0.2 | Dauer in Sekunden, nach der die Lippen-Synchronisation in den Leerlaufzustand zurückgesetzt wird. Nützlich, um zu verhindern, dass Ausdrücke fortgesetzt werden, nachdem das Audio gestoppt hat. |
Leerlaufzustand erhalten | false | Wenn aktiviert, bewahrt den letzten emotionalen Zustand während Leerlaufperioden anstatt auf neutral zurückzusetzen. |
Augenausdrücke erhalten | true | Steuert, ob augenbezogene Gesichtssteuerungen im Leerlaufzustand erhalten bleiben. Nur wirksam, wenn "Leerlaufzustand erhalten" aktiviert ist. |
Augenbrauenausdrücke erhalten | true | Steuert, ob augenbrauenbezogene Gesichtssteuerungen im Leerlaufzustand erhalten bleiben. Nur wirksam, wenn "Leerlaufzustand erhalten" aktiviert ist. |
Mundform erhalten | false | Steuert, ob Mundform-Steuerungen (ausgenommen sprachspezifische Bewegungen wie Zunge und Kiefer) im Leerlaufzustand erhalten bleiben. Nur wirksam, wenn "Leerlaufzustand erhalten" aktiviert ist. |
Leerlaufzustand-Erhaltung
Die Leerlaufzustand erhalten-Funktion behandelt, wie das realistische Modell Stilleperioden verarbeitet. Im Gegensatz zum Standardmodell, das diskrete Viseme verwendet und während der Stille konsequent auf Nullwerte zurückkehrt, kann das neuronale Netz des realistischen Modells subtile Gesichtspositionierung beibehalten, die sich von der Standard-Ruhepose des MetaHuman unterscheidet.
Wann zu aktivieren:
- Erhalt emotionaler Ausdrücke zwischen Sprachsegmenten
- Bewahrung von Charakterpersönlichkeitsmerkmalen
- Sicherstellung visueller Kontinuität in filmischen Sequenzen
Regionale Steuerungsoptionen:
- Augenausdrücke: Bewahrt das Zusammenkneifen der Augen, Weitöffnen und Lidpositionierung
- Augenbrauenausdrücke: Beibehaltung der Augenbrauen- und Stirnpositionierung
- Mundform: Beibehaltung der allgemeinen Mundkrümmung, während Sprachbewegungen (Zunge, Kiefer) zurückgesetzt werden dürfen
Lachanimation
Sie können auch Lachen-Animationen hinzufügen, die dynamisch auf im Audio erkanntes Lachen reagieren:
- Fügen Sie den
Blend Runtime MetaHuman Laughter
-Node hinzu - Verbinden Sie Ihre
RuntimeVisemeGenerator
-Variable mit demViseme Generator
-Pin - Falls Sie bereits Lip Sync verwenden:
- Verbinden Sie die Ausgabe des
Blend Runtime MetaHuman Lip Sync
-Nodes mit demSource Pose
desBlend Runtime MetaHuman Laughter
-Nodes - Verbinden Sie die Ausgabe des
Blend Runtime MetaHuman Laughter
-Nodes mit demResult
-Pin derOutput Pose
- Verbinden Sie die Ausgabe des
- Falls Sie nur Lachen ohne Lip Sync verwenden:
- Verbinden Sie Ihre Quell-Pose direkt mit dem
Source Pose
desBlend Runtime MetaHuman Laughter
-Nodes - Verbinden Sie die Ausgabe mit dem
Result
-Pin
- Verbinden Sie Ihre Quell-Pose direkt mit dem
Wenn Lachen im Audio erkannt wird, animiert sich Ihre Figur entsprechend dynamisch:
Lachen-Konfiguration
Der Blend Runtime MetaHuman Laughter
-Node hat seine eigenen Konfigurationsoptionen:
Eigenschaft | Standardwert | Beschreibung |
---|---|---|
Interpolationsgeschwindigkeit | 25 | Steuert, wie schnell die Lippenbewegungen zwischen Lachen-Animationen übergehen. Höhere Werte führen zu schnelleren, abrupten Übergängen. |
Zurücksetzzeit | 0.2 | Die 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. |
Maximales Lachen-Gewicht | 0.7 | Skaliert 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 Lip Sync und Lachen zusätzlich zu bestehenden Körperanimationen und benutzerdefinierten Gesichtsanimationen anzuwenden, ohne diese zu überschreiben:
- Fügen Sie einen
Layered blend per bone
-Node zwischen Ihre Körperanimationen und die endgültige Ausgabe. Stellen Sie sicher, dassUse Attached Parent
aktiviert ist. - Konfigurieren Sie den 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 folgendenBone Name
s:FACIAL_C_FacialRoot
FACIAL_C_Neck2Root
FACIAL_C_Neck1Root
- Fügen Sie 1 Element zum
- Wichtig für benutzerdefinierte Gesichtsanimationen: Wählen Sie in
Curve Blend Option
die Option "Use Max Value". Dies ermöglicht es, benutzerdefinierte Gesichtsanimationen (Ausdrücke, Emotionen, etc.) korrekt über dem Lip Sync zu schichten. - Stellen Sie die Verbindungen her:
- Bestehende Animationen (wie
BodyPose
) →Base Pose
-Eingang - Gesichtsanimationsausgabe (von Lip Sync- und/oder Lachen-Nodes) →
Blend Poses 0
-Eingang - Layered blend-Node → Endgültige
Result
-Pose
- Bestehende Animationen (wie
Feinabstimmung des Lip 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:
- Fügen Sie nach Ihrem Lip-Sync-Blend-Node einen
Modify Curve
-Node hinzu - Klicken Sie mit der rechten Maustaste auf den
Modify Curve
-Node und wählen Sie Add Curve Pin - Fügen Sie einen Curve Pin mit dem Namen
CTRL_expressions_tongueOut
hinzu - Setzen Sie die Apply Mode-Eigenschaft des Nodes auf Scale
- Passen Sie den Value-Parameter an, um die Zungenstreckung zu steuern (z. B. 0,8, um den Vorstoß um 20 % zu reduzieren)
Kieferöffnungssteuerung
Der realistische Lip-Sync kann je nach Ihrem Audioinhalt und Ihren visuellen Anforderungen übermäßig reagierende Kieferbewegungen erzeugen. Um die Kieferöffnungsintensität anzupassen:
- Fügen Sie nach Ihrem Lip-Sync-Blend-Node einen
Modify Curve
-Node hinzu - Klicken Sie mit der rechten Maustaste auf den
Modify Curve
-Node und wählen Sie Add Curve Pin - Fügen Sie einen Curve Pin mit dem Namen
CTRL_expressions_jawOpen
hinzu - Setzen Sie die Apply Mode-Eigenschaft des Nodes auf Scale
- 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 mood-fähige Modelle können Sie bestimmte emotionale Ausdrücke feinabstimmen:
Augenbrauensteuerung:
CTRL_expressions_browRaiseInL
/CTRL_expressions_browRaiseInR
- Anheben der inneren AugenbraueCTRL_expressions_browRaiseOuterL
/CTRL_expressions_browRaiseOuterR
- Anheben der äußeren AugenbraueCTRL_expressions_browDownL
/CTRL_expressions_browDownR
- Senken der Augenbraue
Augenausdruckssteuerung:
CTRL_expressions_eyeSquintInnerL
/CTRL_expressions_eyeSquintInnerR
- Zusammenkneifen der AugenCTRL_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:
Überlegung | Standardmodell | Realistisches Modell | Mood-fähiges realistisches Modell |
---|---|---|---|
Charakterkompatibilität | MetaHumans und alle benutzerdefinierten Charaktertypen | Nur MetaHumans | Nur MetaHumans |
Visuelle Qualität | Guter Lip-Sync mit effizienter Leistung | Verbesserter Realismus mit natürlicheren Mundbewegungen | Verbesserter Realismus mit emotionalen Ausdrücken |
Leistung | Für alle Plattformen inklusive Mobile/VR optimiert | Höhere Ressourcenanforderungen | Höhere Ressourcenanforderungen |
Funktionen | 14 Viseme, Lacherkennung | 81 Gesichtssteuerungen, 3 Optimierungsstufen | 81 Gesichtssteuerungen, 12 Stimmungen, konfigurierbare Ausgabe |
Plattformunterstützung | Windows, Android, Quest | Windows, Mac, iOS, Linux | Windows, Mac, iOS, Linux |
Anwendungsfälle | Allgemeine Anwendungen, Spiele, VR/AR, Mobilgeräte | Filmische Erfahrungen, Interaktionen aus der Nähe | Emotionales Storytelling, erweiterte Charakterinteraktion |
Engine-Version-Kompatibilität
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 Standard-Modell.
Dieses Problem betrifft speziell UE 5.2 und betrifft keine anderen Engine-Versionen.
Leistungsempfehlungen
- Für die meisten Projekte bietet das Standard-Modell 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
Modelltyp | Lokale TTS-Unterstützung (via Runtime Text To Speech) | Externe TTS-Unterstützung | Hinweise |
---|---|---|---|
Standard-Modell | ✅ Volle Unterstützung | ✅ Volle Unterstützung | Kompatibel mit allen TTS-Optionen |
Realistisches Modell | ❌ Eingeschränkte Unterstützung | ✅ Volle Unterstützung | ONNX Runtime-Konflikte mit lokalem TTS |
Stimmungsfähiges Realistisches Modell | ✅ Volle Unterstützung | ✅ Volle Unterstützung | Kompatibel 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 zuführen möchten. Dies liegt am ONNX Runtime-Verhalten, das 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 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 Lippen-Sync-Reaktionsfähigkeit: Wenn Sie feststellen, dass Lippen-Sync über die Zeit weniger reaktionsfähig wird, wenn Sie Streaming Sound Wave oder Capturable Sound Wave verwenden, kann 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 periodisch 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