Zum Hauptinhalt springen

Eye Animation Helpers

Zusätzlich zum Lippen-Synchronisationssystem enthält das Runtime MetaHuman Lip Sync-Plugin zwei optionale Hilfsprogramme zur Animation von MetaHuman-Augen:

  • Auto Blink: ein Helfer, der natürliche, zufällige Augenblinzeln bei einem MetaHuman erzeugt
  • Eyes Aim: ein Animation-Blueprint-Knoten, der die Augen eines MetaHuman auf eine Position im Weltraum blicken lässt

Diese Funktionen sind vollständig unabhängig von der Lippen-Synchronisation und können eigenständig, zusammen oder in Kombination mit den Lippen-Synchronisationsknoten verwendet werden. Sie sind als leichte, einsatzbereite Helfer konzipiert, um lebensechtes Augenverhalten hinzuzufügen, ohne es manuell erstellen zu müssen.

Feature-Vorschauen

Auto Blink: automatisches Blinzeln
Eyes Aim: Verfolgung der Spielerkamera
Eyes Aim: einem sich bewegenden Ziel-Actor folgen
Wann diese Helfer verwendet werden sollten

Wenn Ihre Gesichtsanimations-Pipeline bereits Blinzeln und dynamischen Blick umfasst, können Sie diese Seite überspringen. Diese Helfer sind für Fälle gedacht, in denen Sie lebensechtes Augenverhalten wünschen, ohne es selbst zu erstellen, z. B. wenn Ihre Animationssequenzen keine Blinzelbewegungen enthalten oder wenn die Augen dynamisch einem sich bewegenden Ziel folgen sollen (etwas, das statische Animationssequenzen nicht leisten können). Sie können auch oben auf vorhandene Gesichtsanimationen gelegt werden, um fehlende Teile hinzuzufügen, wie z. B. Blinzeln über einer Sequenz, die nur den Mund animiert.

Der Auto Blink-Helfer erzeugt zufällige, natürlich wirkende Augenblinzelbewegungen, indem er die CTRL_L_eye_blink- und CTRL_R_eye_blink-Kurven des MetaHuman Face Control Rigs steuert.

Funktionsweise

In jedem Frame rufen Sie Update MetaHuman Auto Blink aus dem Event Graph Ihres Face Animation Blueprints auf und übergeben die Delta-Zeit des Frames. Die Funktion:

  1. Verfolgt den pro-Charakter-Zustand (nächste Blinzelzeit, aktuelle Offen/Geschlossen-Phase usw.), der durch die aufrufende AnimInstance identifiziert wird
  2. Gibt zwei Float-Werte im Bereich 0..1 zurück, einen für das linke und einen für das rechte Auge, die anzeigen, wie geschlossen jedes Auge gerade ist
  3. Sie speichern diese Werte dann in Blueprint-Variablen und speisen sie in den Control Rig-Knoten im Anim Graph ein

Einrichtung

Zwei Schritte: Fügen Sie den Blinzel-Aufruf zu Ihrem Event Graph hinzu und speisen Sie die Werte dann in einen Control Rig-Knoten im Anim Graph ein.

1. Event Graph: Blinzelwerte pro Frame steuern

Öffnen Sie in Ihrem Face Animation Blueprint (z. B. Face_AnimBP oder Ihrer duplizierten/kopierten Version, siehe Setup Guide) den Event Graph und fügen Sie Folgendes zu Event Blueprint Update Animation hinzu:

  1. Rufen Sie Update MetaHuman Auto Blink auf
  2. Verbinden Sie Delta Time X (vom Event) mit Delta Seconds
  3. (Optional) Konfigurieren Sie das Config-Struct. Die Standardwerte sehen bereits natürlich aus
  4. Promoten Sie Left Blink Value und Right Blink Value zu Blueprint-Variablen (z. B. LeftBlinkValue, RightBlinkValue)

Auto Blink Event Graph Einrichtung

2. Anim Graph: Werte in das Face Control Rig einspeisen

Im Anim Graph desselben Animation Blueprints:

  1. Platzieren Sie einen Control Rig-Knoten nach aller anderen Gesichtslogik, die in die Augenblinzel-Kurven schreiben könnte (z. B. nach Blend Runtime MetaHuman Lip Sync und allen benutzerdefinierten Gesichtsanimations-Layern)
  2. Setzen Sie im Details-Panel des Knotens Control Rig Class auf Ihr MetaHuman Face Control Rig. Der Pfad ist typischerweise:
    • /All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig
    • Ihr Projekt kann je nach Import-Methode des MetaHumans einen anderen Pfad haben.
  3. Erweitern Sie im Details-Panel den Abschnitt Input und aktivieren Sie Use Pin für:
    • CTRL_L_eye_blink
    • CTRL_R_eye_blink
  4. Verbinden Sie Ihre LeftBlinkValue-Variable mit CTRL_L_eye_blink
  5. Verbinden Sie Ihre RightBlinkValue-Variable mit CTRL_R_eye_blink

Auto Blink Anim Graph Einrichtung

Platzierung ist wichtig

Platzieren Sie den Control Rig-Knoten nach den Lip-Sync-Blend-Knoten (und allen anderen Gesichtsanimationsknoten), damit die Blinzelwerte nicht von anderer Logik überschrieben werden.

Konfiguration

Der Update MetaHuman Auto Blink-Knoten akzeptiert ein optionales Config-Struct. Die Standardwerte sehen für die meisten Charaktere bereits natürlich aus. Erweitern Sie den folgenden Abschnitt, wenn Sie das Verhalten anpassen möchten.

Config-Eigenschaften

Timing

EigenschaftStandardBeschreibung
Min Time Between Blinks2,0 sMindestintervall zwischen Blinzeln, während die Augen vollständig geöffnet sind.
Max Time Between Blinks4,0 sMaximales Intervall zwischen Blinzeln. Das tatsächliche Intervall wird zufällig zwischen Min und Max gewählt.
Min Closed Hold Time0,04 sMindestzeit, die die Augen vollständig geschlossen bleiben.
Max Closed Hold Time0,08 sMaximale Zeit, die die Augen vollständig geschlossen bleiben.

Interpolation

EigenschaftStandardBeschreibung
Close Interp Speed35,0Geschwindigkeit beim Schließen der Augen. Menschen schließen die Augen schneller als sie sie öffnen, daher ist dieser Wert bewusst höher als die Öffnungsgeschwindigkeit.
Open Interp Speed18,0Geschwindigkeit beim Öffnen der Augen.
Closed Threshold0,97Wert, bei dem das Blinzeln als "vollständig geschlossen" gilt und die Haltephase beginnt.
Open Threshold0,02Wert, bei dem das Blinzeln als "vollständig geöffnet" gilt und das nächste Blinzeln geplant wird.

Sonstiges

EigenschaftStandardBeschreibung
Independent EyesfalseWenn true, blinzeln das linke und rechte Auge unabhängig voneinander mit getrenntem Timing. Wenn false (Standard), blinzeln beide Augen perfekt synchron.
bEnabled (Funktions-Pin)trueWenn false, öffnen sich die Augen langsam und das Blinzeln pausiert. Nützlich für Zwischensequenzen, Schlaf, Tod usw.

Laufzeitsteuerung

Sie können auch Reset Auto Blink State aufrufen, um den internen Zustand für eine bestimmte AnimInstance explizit zu löschen (z. B. beim Wiederbeleben eines Charakters oder Wechseln des filmischen Zustands).

Eyes Aim

Der Eyes Aim-Helfer ist ein Animation Blueprint-Knoten (Runtime MetaHuman Eyes Aim), der die Augen des Charakters eine Position im Weltraum verfolgen lässt – zum Beispiel die Spielerkamera, einen anderen Actor oder ein beliebiges sich bewegendes Ziel. Er unterstützt Yaw/Pitch-Begrenzung, Glättung, Anti-Flip-Schutz, wenn das Ziel hinter dem Kopf vorbeigeht, und optionale Mikro-Sakkaden für zusätzlichen Realismus.

Auswahl eines Modus

Der Knoten unterstützt zwei Modi, die über das Mode-Dropdown im Details-Panel des Knotens ausgewählt werden:

ModusWas gesteuert wirdWo platzieren
Curves (Standard)Die Face Control Rig Augen-Blick-Kurven (CTRL_expressions_eyeLook*)Im Face Animation Blueprint (z. B. Face_AnimBP), vor dem Control Rig-Knoten
BonesDie FACIAL_L_Eye / FACIAL_R_Eye-Bones direkt, unter Umgehung des Control RigsIm Face Post Process Animation Blueprint (z. B. Face_PostProcess_AnimBP), nach dem AnimNode_RigLogic-Knoten

Curves-Modus ist der empfohlene Standard. Er fügt sich sauber in andere kurvenbasierte Gesichtssysteme (Lip Sync, Ausdrücke, ARKit-Blend Shapes usw.) ein, da Werte durch normale Control Rig-Auswertung kombiniert werden, anstatt um Bone-Transformationen zu konkurrieren.

Wenn der Curves-Modus nicht funktioniert, verwenden Sie den Bones-Modus

Bei einigen MetaHuman-Varianten (insbesondere älteren Rigs, einschließlich einiger über Quixel Bridge heruntergeladener) steuern die Augen-Blick-Kurven die Augen nicht tatsächlich an. Das sichtbare Symptom ist, dass die Augen nach unten schauen, wobei die Pupillen fast verborgen sind, wenn der Curves-Modus-Knoten aktiv ist, unabhängig von der Zielposition.

Wenn Sie dies sehen, wechseln Sie zum Bones-Modus. Der Bones-Modus rotiert die Augenbones direkt, funktioniert daher auf jeder MetaHuman-Variante, unabhängig davon, wie das Control Rig verdrahtet ist. Siehe den Bones-Tab in Setup unten.

Einrichtung

Die Standardeinrichtung. Der Knoten lebt im standardmäßigen Face Animation Blueprint und steuert die Face Control Rig Augen-Blick-Kurven.

Zwei Schritte: Fügen Sie den Knoten zu Ihrem Anim Graph hinzu und speisen Sie ihm dann eine Zielposition aus dem Event Graph zu.

1. Anim Graph: Knoten hinzufügen

Im Anim Graph Ihres Face Animation Blueprints:

  1. Fügen Sie einen Runtime MetaHuman Eyes Aim-Knoten hinzu
  2. Lassen Sie Mode im Details-Panel auf Curves eingestellt
  3. Platzieren Sie ihn nach aller anderen Gesichtslogik, die in die Augen-Blick-Kurven schreiben könnte (Lip Sync, benutzerdefinierte Animationen usw.), gleiches Prinzip wie beim Auto Blink Control Rig-Knoten
  4. Verbinden Sie die vorhandene Pose mit Source Pose
  5. Verbinden Sie die Ausgabe mit dem nächsten Knoten in Ihrer Kette (oder Output Pose)
  6. Erstellen Sie eine Vector-Blueprint-Variable (z. B. TargetWorldLocation) und verbinden Sie sie mit dem Target World Location-Pin des Knotens. Sie werden diese Variable im nächsten Schritt aus dem Event Graph aktualisieren.

Eyes Aim Anim Graph Einrichtung

2. Event Graph: Zielposition zuführen

Der Target World Location-Pin erwartet ein FVector im Weltraum. Ein häufiger Fall ist, dass der MetaHuman die Spielerkamera ansieht. In Event Blueprint Update Animation:

  1. Holen Sie Player Camera Manager (Player Index 0)
  2. Prüfen Sie Is Valid
  3. Wenn gültig, rufen Sie Get Camera Location auf
  4. Speichern Sie es in der TargetWorldLocation-Blueprint-Variable

Eyes Aim, Kamera verfolgen

Um stattdessen einen beliebigen Actor (NPC, Gegenstand, interessanten Punkt) zu verfolgen, holen Sie sich die Position dieses Actors in jedem Frame und speichern Sie sie in derselben Variable. Für einen festen Blickpunkt setzen Sie Target World Location einmalig oder als Konstante im Details-Panel des Knotens.

Konfiguration

Alle Einstellungen sind im Details-Panel des Runtime MetaHuman Eyes Aim-Knotens verfügbar.

Zielen & Begrenzung

Zielen

EigenschaftStandardBeschreibung
ModeCurvesWählt aus, wie die Augen gesteuert werden. Siehe Auswahl eines Modus.
Target World Location(0,0,0)Punkt im Weltraum, den die Augen ansehen. Standardmäßig als Pin verfügbar.
bEnabledtrueWenn false, gehen die Augen langsam zurück nach vorne und ignorieren das Ziel. Standardmäßig als Pin verfügbar.

Begrenzung

EigenschaftStandardBeschreibung
Max Yaw Degrees35°Maximale horizontale (Yaw) Abweichung von der Vorwärtsrichtung des Kopfes. Begrenzt auf 0 bis 80.
Max Pitch Degrees25°Maximale vertikale (Pitch) Abweichung von der Vorwärtsrichtung des Kopfes. Begrenzt auf 0 bis 80.
Anti Flip BehindtrueVerhindert, dass die Augen umkippen, wenn das Ziel hinter dem Kopf vorbeigeht.
Glättung & Sakkaden

Glättung

EigenschaftStandardBeschreibung
Interp Speed12,0Glättungsgeschwindigkeit für Augenbewegungen. Höher = schneller, niedriger = träger.

Sakkaden

Mikro-Sakkaden sind winzige, zufällige Blickverschiebungen, die echte Augen ständig ausführen. Das Hinzufügen vermeidet den "toten Blick" einer perfekt gleichmäßigen Verfolgung.

EigenschaftStandardBeschreibung
Enable SaccadestrueSchaltet Mikro-Sakkaden ein/aus.
Saccade Yaw Amplitude Deg1,5°Maximale horizontale Zitterbewegung pro Sakkade. Kleine Werte (1–2°) wirken natürlich; größere Werte sehen zuckrig aus.
Saccade Pitch Amplitude Deg1,0°Maximale vertikale Zitterbewegung pro Sakkade. Normalerweise etwas kleiner als die Yaw-Amplitude.
Min Saccade Interval0,6 sMindestzeit zwischen Sakkaden.
Max Saccade Interval2,5 sMaximale Zeit zwischen Sakkaden. Größere Werte wirken ruhiger, kleinere Werte wirken unruhiger.
Bones (nur Bones-Modus)
EigenschaftStandardBeschreibung
Left Eye BoneFACIAL_L_EyeName des linken Augenbones. Entspricht dem standardmäßigen MetaHuman Face-Skelett.
Right Eye BoneFACIAL_R_EyeName des rechten Augenbones. Entspricht dem standardmäßigen MetaHuman Face-Skelett.
Kalibrierung (nur Curves-Modus)

Diese Werte definieren, wie Winkel im Kopfraum auf die Augen-Blick-Kurvenwerte des MetaHuman Face CR abgebildet werden. Die Standardwerte sind auf das standardmäßige MetaHuman Face CR abgestimmt und müssen selten geändert werden.

EigenschaftStandardBeschreibung
Yaw Degrees Per Unit Curve30°Winkel, der einem Kurvenwert von 1,0 für Yaw-Blick-Kurven entspricht.
Pitch Degrees Per Unit Curve25°Winkel, der einem Kurvenwert von 1,0 für Pitch-Blick-Kurven entspricht.

Kombinieren mit Lip Sync und anderen Animationen

Beide Helfer sind so konzipiert, dass sie mit den Lip Sync-Knoten des Plugins und allen benutzerdefinierten Gesichtsanimationen, die Sie bereits haben, koexistieren können. Die allgemeine Regel: Platzieren Sie die Eyes Aim- und Control Rig (Auto Blink)-Knoten nach Lip Sync und allen benutzerdefinierten Gesichtsanimationen, damit ihre Werte nicht nachgelagert überschrieben werden.

Detailliertes Ausführungs-Flussdiagramm anzeigen (Curves- vs. Bones-Modus)

Je nachdem, ob Ihr MetaHuman-Rig den empfohlenen Curves-Modus oder den Fallback-Bones-Modus verwendet, ändert sich die Platzierung Ihrer Ausführungslogik. Erweitern Sie das Diagramm unten, um die genaue Ausführungsreihenfolge für beide Pipelines zu sehen:

Auto Blink und Lippen-Synchronisation befinden sich in beiden Modi weiterhin im regulären Face AnimBP.

Details zur Überlagerung mit Körperanimationen finden Sie unter Kombinieren mit vorhandenen Animationen.

Hinweise & Einschränkungen

Diese Helfer sind MetaHuman-spezifisch. Sie basieren auf den standardmäßigen MetaHuman Face Control Rig-Kurvennamen (CTRL_L_eye_blink, CTRL_R_eye_blink, CTRL_expressions_eyeLook*) und den standardmäßigen Augenknochen (FACIAL_L_Eye, FACIAL_R_Eye). Sie sind nicht für benutzerdefinierte Nicht-MetaHuman-Charaktere vorgesehen.

Benötigen Sie Hilfe?

Join our Discord
online · support

Für individuelle Entwicklungsanfragen kontaktieren Sie bitte [email protected].