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
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.
Auto Blink
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:
- Verfolgt den pro-Charakter-Zustand (nächste Blinzelzeit, aktuelle Offen/Geschlossen-Phase usw.), der durch die aufrufende
AnimInstanceidentifiziert wird - 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
- 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:
- Rufen Sie
Update MetaHuman Auto Blinkauf - Verbinden Sie Delta Time X (vom Event) mit Delta Seconds
- (Optional) Konfigurieren Sie das Config-Struct. Die Standardwerte sehen bereits natürlich aus
- Promoten Sie Left Blink Value und Right Blink Value zu Blueprint-Variablen (z. B.
LeftBlinkValue,RightBlinkValue)

2. Anim Graph: Werte in das Face Control Rig einspeisen
Im Anim Graph desselben Animation Blueprints:
- 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 Syncund allen benutzerdefinierten Gesichtsanimations-Layern) - 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.
- Erweitern Sie im Details-Panel den Abschnitt Input und aktivieren Sie Use Pin für:
CTRL_L_eye_blinkCTRL_R_eye_blink
- Verbinden Sie Ihre
LeftBlinkValue-Variable mitCTRL_L_eye_blink - Verbinden Sie Ihre
RightBlinkValue-Variable mitCTRL_R_eye_blink

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
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Min Time Between Blinks | 2,0 s | Mindestintervall zwischen Blinzeln, während die Augen vollständig geöffnet sind. |
| Max Time Between Blinks | 4,0 s | Maximales Intervall zwischen Blinzeln. Das tatsächliche Intervall wird zufällig zwischen Min und Max gewählt. |
| Min Closed Hold Time | 0,04 s | Mindestzeit, die die Augen vollständig geschlossen bleiben. |
| Max Closed Hold Time | 0,08 s | Maximale Zeit, die die Augen vollständig geschlossen bleiben. |
Interpolation
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Close Interp Speed | 35,0 | Geschwindigkeit 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 Speed | 18,0 | Geschwindigkeit beim Öffnen der Augen. |
| Closed Threshold | 0,97 | Wert, bei dem das Blinzeln als "vollständig geschlossen" gilt und die Haltephase beginnt. |
| Open Threshold | 0,02 | Wert, bei dem das Blinzeln als "vollständig geöffnet" gilt und das nächste Blinzeln geplant wird. |
Sonstiges
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Independent Eyes | false | Wenn true, blinzeln das linke und rechte Auge unabhängig voneinander mit getrenntem Timing. Wenn false (Standard), blinzeln beide Augen perfekt synchron. |
bEnabled (Funktions-Pin) | true | Wenn 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:
| Modus | Was gesteuert wird | Wo 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 |
| Bones | Die FACIAL_L_Eye / FACIAL_R_Eye-Bones direkt, unter Umgehung des Control Rigs | Im 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.
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
- Curves-Modus (Standard)
- Bones-Modus (Fallback)
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:
- Fügen Sie einen
Runtime MetaHuman Eyes Aim-Knoten hinzu - Lassen Sie Mode im Details-Panel auf Curves eingestellt
- 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
- Verbinden Sie die vorhandene Pose mit Source Pose
- Verbinden Sie die Ausgabe mit dem nächsten Knoten in Ihrer Kette (oder
Output Pose) - 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.

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:
- Holen Sie Player Camera Manager (Player Index 0)
- Prüfen Sie Is Valid
- Wenn gültig, rufen Sie Get Camera Location auf
- Speichern Sie es in der
TargetWorldLocation-Blueprint-Variable

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.
Verwenden Sie diese Einrichtung, wenn der Curves-Modus-Ansatz für Ihre MetaHuman-Variante nicht funktioniert (siehe Warnung oben). Im Bones-Modus rotiert der Knoten die Augenbones direkt und muss nach der Auswertung des Control Rigs ausgeführt werden, was bedeutet, dass er zum Face Post Process Animation Blueprint gehört und nicht zum regulären Face AnimBP.
Drei Schritte: Lokalisieren Sie den Post Process Anim BP, fügen Sie den Knoten nach RigLogic hinzu und speisen Sie ihm dann eine Zielposition aus dem Event Graph dieses Blueprints zu.
1. Face Post Process Anim BP lokalisieren
- Öffnen Sie das Face Skeletal Mesh-Asset Ihres MetaHumans (z. B.
Faceim Ordner Ihres MetaHumans) - Suchen Sie im Details-Panel des Assets das Feld Post Process Anim Blueprint
- Öffnen Sie dieses Asset, es heißt typischerweise etwas wie
Face_PostProcess_AnimBP
2. Anim Graph: Knoten nach RigLogic hinzufügen
Im Anim Graph des Face Post Process Anim BP:
- Lokalisieren Sie den vorhandenen
AnimNode_RigLogic-Knoten (er wandelt die Face Control Rig-Kurven in Bone-Transformationen um) - Fügen Sie einen
Runtime MetaHuman Eyes Aim-Knoten nachAnimNode_RigLogicund vorOutput Posehinzu - Setzen Sie im Details-Panel des Knotens Mode auf Bones
- Verbinden Sie
AnimNode_RigLogicmit der Source Pose des Eyes Aim-Knotens - Verbinden Sie die Ausgabe des Eyes Aim-Knotens mit
Output Pose - Erstellen Sie eine
Vector-Blueprint-Variable (z. B.TargetWorldLocation) in diesem Post Process Anim BP und verbinden Sie sie mit dem Target World Location-Pin des Knotens

Die Standard-Bone-Referenzen (FACIAL_L_Eye und FACIAL_R_Eye) entsprechen dem standardmäßigen MetaHuman Face-Skelett. Wenn Ihr Charakter ein angepasstes Skelett mit anderen Augenbones-Namen verwendet, überschreiben Sie diese im Details-Panel des Knotens unter der Kategorie Bones.
3. Event Graph: Zielposition zuführen
Da der Knoten im Post Process Anim BP lebt, muss die Zielpositionslogik auch im Event Graph dieses Blueprints leben, nicht in Face_AnimBP. Die Einrichtung ist identisch zum Curves-Modus (Kameraposition holen, Actor-Position holen oder eine Konstante verwenden), nur innerhalb von Face_PostProcess_AnimBP durchgeführt.

Jegliche unabhängige Logik (Lip Sync, Auto Blink usw.) kann im regulären Face AnimBP bleiben. Nur die Zielpositionsberechnung für Eyes Aim muss hierher verschoben werden. Das Face Control Rig steuert die Augenbones basierend auf seinen Kurven in jedem Frame zwangsweise. Wenn der Eyes Aim-Knoten im regulären Face AnimBP (vor dem Control Rig) laufen würde, würde das Control Rig die Bone-Rotationen danach überschreiben. Der Post Process Anim BP läuft nachdem das Control Rig seine endgültigen Bone-Transformationen erzeugt hat, daher ist er der richtige Ort, um endgültige Bone-Rotationen anzuwenden, die "gewinnen" müssen.Warum benötigt der Bones-Modus den Post Process Anim BP?
Konfiguration
Alle Einstellungen sind im Details-Panel des Runtime MetaHuman Eyes Aim-Knotens verfügbar.
Zielen & Begrenzung
Zielen
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Mode | Curves | Wä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. |
bEnabled | true | Wenn false, gehen die Augen langsam zurück nach vorne und ignorieren das Ziel. Standardmäßig als Pin verfügbar. |
Begrenzung
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Max Yaw Degrees | 35° | Maximale horizontale (Yaw) Abweichung von der Vorwärtsrichtung des Kopfes. Begrenzt auf 0 bis 80. |
| Max Pitch Degrees | 25° | Maximale vertikale (Pitch) Abweichung von der Vorwärtsrichtung des Kopfes. Begrenzt auf 0 bis 80. |
| Anti Flip Behind | true | Verhindert, dass die Augen umkippen, wenn das Ziel hinter dem Kopf vorbeigeht. |
Glättung & Sakkaden
Glättung
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Interp Speed | 12,0 | Glä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.
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Enable Saccades | true | Schaltet Mikro-Sakkaden ein/aus. |
| Saccade Yaw Amplitude Deg | 1,5° | Maximale horizontale Zitterbewegung pro Sakkade. Kleine Werte (1–2°) wirken natürlich; größere Werte sehen zuckrig aus. |
| Saccade Pitch Amplitude Deg | 1,0° | Maximale vertikale Zitterbewegung pro Sakkade. Normalerweise etwas kleiner als die Yaw-Amplitude. |
| Min Saccade Interval | 0,6 s | Mindestzeit zwischen Sakkaden. |
| Max Saccade Interval | 2,5 s | Maximale Zeit zwischen Sakkaden. Größere Werte wirken ruhiger, kleinere Werte wirken unruhiger. |
Bones (nur Bones-Modus)
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Left Eye Bone | FACIAL_L_Eye | Name des linken Augenbones. Entspricht dem standardmäßigen MetaHuman Face-Skelett. |
| Right Eye Bone | FACIAL_R_Eye | Name 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.
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
| Yaw Degrees Per Unit Curve | 30° | Winkel, der einem Kurvenwert von 1,0 für Yaw-Blick-Kurven entspricht. |
| Pitch Degrees Per Unit Curve | 25° | 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?
Für individuelle Entwicklungsanfragen kontaktieren Sie bitte [email protected].