Zum Hauptinhalt springen

Augen-Animation-Helfer

Zusätzlich zur Lippen-Synchronisation enthält das Runtime MetaHuman Lip Sync-Plugin zwei optionale Hilfsprogramme zum Animieren der 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 völlig unabhängig von der Lippen-Synchronisation und können einzeln, zusammen oder in Kombination mit den Lippen-Synchronisationsknoten verwendet werden. Sie sind als leichte, einsatzbereite Helfer gedacht, um lebensechtes Augenverhalten hinzuzufügen, ohne es manuell erstellen zu müssen.

Funktionsvorschauen

Auto Blink: automatisches Blinzeln
Augenausrichtung: Verfolgung der Spielerkamera
Augenausrichtung: einem sich bewegenden Ziel-Akteur folgen

Video-Durchlauf

Vollständige Anleitung für beide Helfer, einschließlich der Problemumgehung für das Legacy-Rig.

Wann diese Helfer verwendet werden sollten

Wenn Ihre Gesichtsanimation bereits Blinzeln und dynamische Blickbewegungen umfasst, können Sie diese Seite überspringen. Diese Hilfsfunktionen existieren für Fälle, in denen Sie lebensechtes Augenverhalten wünschen, ohne es selbst zu erstellen – zum Beispiel, wenn Ihre Animationssequenzen kein Blinzeln enthalten oder wenn die Augen einem sich bewegenden Ziel dynamisch folgen sollen (was statische Animationssequenzen nicht leisten können). Sie können auch zusätzlich zu vorhandenen Gesichtsanimationen verwendet werden, um fehlende Elemente zu ergänzen, wie etwa Blinzeln über einer Sequenz, die nur den Mund animiert.

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

So funktioniert es

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

  1. Verfolgt den Zustand pro Zeichen (nächste Blinzelzeit, aktuelle offene/geschlossene Phase usw.), abgelegt nach der aufrufenden AnimInstance
  2. Gibt zwei Gleitkommawerte im Bereich 0..1 zurück, einen für das linke Auge und einen für das rechte Auge, die angeben, wie geschlossen jedes Auge aktuell ist
  3. Diese Werte speicherst du dann in Blueprint-Variablen und speist sie in den Control Rig-Knoten im Animationsgraphen ein

Einrichtung

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

Öffnen Sie in Ihrem Gesichtsanimations-Blueprint (z. B. Face_AnimBP oder Ihrer duplizierten/kopierten Version, siehe Einrichtungsanleitung) den Ereignisgraph und fügen Sie Folgendes zu Ereignis Blueprint Update Animation hinzu:

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

Auto Blink Event Graph setup

Im Anim Graph desselben Animation Blueprints:

  1. Platzieren Sie einen Control Rig-Knoten nach aller anderen Gesichtslogik, die auf Augenblinzel-Kurven schreiben könnte (z. B. nach Blend Runtime MetaHuman Lip Sync und allen benutzerdefinierten Gesichtsanimationsebenen).
  2. Legen Sie im Details-Panel des Knotens die Control Rig-Klasse (Control Rig Asset Reference in UE 5.8+) auf Ihr MetaHuman-Gesichts-Control-Rig fest. Der Pfad ist typischerweise:
    • /All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig
    • Ihr Projekt kann je nachdem, wie der MetaHuman importiert wurde, einen anderen Pfad haben.
  3. Erweitern Sie im Bereich Details den Abschnitt Eingabe und aktivieren Sie Pin verwenden für:
    • CTRL_L_eye_blink
    • CTRL_R_eye_blink
  4. Verbinde deine Variable LeftBlinkValue mit CTRL_L_eye_blink
  5. Verbinde deine Variable RightBlinkValue mit CTRL_R_eye_blink

Auto Blink Anim Graph setup

Die 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 Knoten Update MetaHuman Auto Blink akzeptiert eine optionale Config-Struktur. Die Standardwerte wirken für die meisten Charaktere bereits natürlich; erweitere den Bereich unten, wenn du das Verhalten anpassen möchtest.

Konfigurationseigenschaften

Timing

EigenschaftStandardBeschreibung
Minimale Zeit zwischen Lidschlägen2,0 sMinimales Intervall zwischen Lidschlägen, während die Augen vollständig geöffnet sind.
Maximale Zeit zwischen Lidschlägen4,0 sMaximales Intervall zwischen Lidschlägen. Das tatsächliche Intervall wird zufällig zwischen Minimum und Maximum gewählt.
Minimale geschlossene Haltezeit0,04 sMinimale Zeit, in der die Augen vollständig geschlossen bleiben.
Maximale geschlossene Haltezeit0,08 sMaximale Zeit, die die Augen vollständig geschlossen bleiben.

Interpolation

EigenschaftStandardBeschreibung
Interp-Geschwindigkeit (Nah)35,0Geschwindigkeit beim Schließen der Augen. Menschen schließen ihre Augen schneller, als sie sie öffnen, daher ist dieser Wert bewusst höher als die Öffnungsgeschwindigkeit.
Offene Interpolationsgeschwindigkeit18.0Geschwindigkeit beim Öffnen der Augen.
Geschlossener Schwellenwert0.97Wert, bei dem der Blinzeln als "vollständig geschlossen" gilt und die Haltephase beginnt.
Offener Schwellenwert0,02Wert, bei dem der Lidschlag als "vollständig geöffnet" gilt und der nächste Lidschlag geplant wird.

Misc

EigenschaftStandardBeschreibung
Unabhängige AugenfalseWenn true blinken das linke und das rechte Auge unabhängig voneinander mit unterschiedlichem Timing. Wenn false (Standard), blinken beide Augen perfekt synchron.
bEnabled (Funktions-Pin)trueWenn false, öffnen sich die Augen langsam wieder und das Blinzeln wird 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 beim Wechseln von Filmzuständen).

Augenausrichtung

Der Eyes Aim-Helfer ist ein Animation Blueprint-Knoten (Runtime MetaHuman Eyes Aim), der die Augen der Figur eine Weltraumposition verfolgen lässt, zum Beispiel die Spielerkamera, einen anderen Akteur oder ein beliebiges sich bewegendes Ziel. Er unterstützt Yaw/Pitch-Begrenzung, Glättung, Anti-Flip-Schutz, wenn das Ziel hinter den Kopf gelangt, und optionale Mikrosakkaden für zusätzliche Realistik.

Auswahl eines Modus

Der Knoten unterstützt zwei Modi, die über das Dropdown-Menü Modus im Detailbereich des Knotens ausgewählt werden können:

ModeWas es antreibtWo soll es platziert werden?
Kurven (Standard)Die Augen-Blick-Kurven des Gesichts-Control-Rigs (CTRL_expressions_eyeLook*)Im Face Animation Blueprint (z. B. Face_AnimBP), vor dem Control Rig-Knoten
KnochenDie FACIAL_L_Eye / FACIAL_R_Eye-Knochen direkt, unter Umgehung des Control Rigs.Im Face Post Process Animation Blueprint (z. B. Face_PostProcess_AnimBP) nach dem AnimNode_RigLogic-Knoten

Kurvenmodus ist die empfohlene Standardeinstellung. Er lässt sich sauber mit anderen kurvenbasierten Gesichtssystemen (Lippensynchronisation, Ausdrücke, ARKit-Blend Shapes usw.) kombinieren, da die Werte durch normale Control-Rig-Auswertung zusammengeführt werden, anstatt um Knochentransformationen zu konkurrieren.

Wenn der Kurvenmodus nicht funktioniert, verwenden Sie den Knochenmodus.

Bei einigen MetaHuman-Varianten (insbesondere älteren Rigs, einschließlich einiger, die über Quixel Bridge heruntergeladen wurden), steuern die Blickkurven die Augen nicht tatsächlich. Das sichtbare Symptom ist, dass die Augen nach unten schauen, wobei die Pupillen fast verborgen sind, wenn der Kurvenmodus-Knoten aktiv ist, unabhängig vom Zielort.

Wenn Sie dies sehen, wechseln Sie in den Bones-Modus. Der Bones-Modus rotiert die Augenknochen direkt, sodass er bei jeder MetaHuman-Variante funktioniert, unabhängig davon, wie das Control Rig verdrahtet ist. Siehe die Registerkarte Bones unter Setup unten.

Einrichtung

Die Standardeinrichtung. Der Node befindet sich im standardmäßigen Gesichtsanimations-Blueprint und steuert die Blickkurven des Gesichts-Control-Rigs.

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

1. Anim Graph: Knoten hinzufügen

In Ihrem Gesichtsanimations-Blueprint-Animationsgraph:

  1. Fügen Sie einen Runtime MetaHuman Eyes Aim-Knoten hinzu
  2. Lassen Sie Modus im Detail-Panel auf Kurven eingestellt
  3. Platzieren Sie ihn nach aller anderen Gesichtslogik, die in die Blick-Kurven schreiben könnte (Lippensynchronisation, benutzerdefinierte Animationen usw.), nach dem gleichen Prinzip wie der Auto Blink Control Rig-Knoten
  4. Verbinden Sie die vorhandene Pose mit Quellpose
  5. Verbinden Sie die Ausgabe mit dem nächsten Knoten in Ihrer Kette (oder Ausgabepose)
  6. Erstellen Sie eine Vector-Blueprint-Variable (z. B. TargetWorldLocation) und verbinden Sie sie mit dem Ziel-Weltposition-Pin des Knotens. Sie werden diese Variable im nächsten Schritt aus dem Ereignisgraphen aktualisieren.

Eyes Aim Anim Graph setup

2. Ereignisgraph: Zielposition eingeben

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

  1. Player Camera Manager abrufen (Player-Index 0)
  2. Prüfen, ob gültig
  3. Wenn gültig, Kameraposition abrufen aufrufen
  4. In der Blueprint-Variable TargetWorldLocation speichern

Eyes Aim, tracking the camera

Um einen beliebigen Actor (NPC, Gegenstand, Interessenspunkt) zu verfolgen, rufen Sie stattdessen jede Frame die Position dieses Actors ab und speichern Sie sie in derselben Variable. Für einen festen Blickpunkt setzen Sie Target World Location einmalig oder als Konstante im Detail-Panel des Knotens.

Konfiguration

Alle Einstellungen werden im Detail-Panel des Runtime MetaHuman Eyes Aim-Knotens angezeigt.

Zielen & Begrenzen

Ziel

EigenschaftStandardBeschreibung
ModeKurvenWählt aus, wie die Augen gesteuert werden. Siehe Modus auswählen.
Ziel-Weltposition(0,0,0)Weltraum-Punkt, den die Augen ansehen. Standardmäßig als Pin verfügbar gemacht.
bEnabledtrueWenn false, gleiten die Augen zurück nach vorne und ignorieren das Ziel. Standardmäßig als Pin verfügbar.

Begrenzen

EigenschaftStandardBeschreibung
Maximale Gier-Grad35°Maximale horizontale (Gier-)Abweichung von der Vorwärtsrichtung des Kopfes. Begrenzt auf 0 bis 80.
Max Pitch Grad25°Maximale vertikale (Nick-)Abweichung von der Vorwärtsrichtung des Kopfes. Begrenzt auf 0 bis 80.
Anti Flip BehindtrueVerhindert das Umklappen der Augen, wenn das Ziel hinter den Kopf gelangt.
Glättung & Sakkaden

Glättung

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

Sakkaden

Mikro-Sakkaden sind winzige, zufällige Blickbewegungen, die echte Augen ständig ausführen. Ihre Hinzufügung vermeidet den „toten Blick“ einer perfekt gleichmäßigen Verfolgung.

EigenschaftStandardBeschreibung
Sakkaden aktivierentrueAktiviert/deaktiviert Mikro-Sakkaden.
Saccade-Gier-Amplitude in Grad1,5°Maximaler horizontaler Zittern pro Sakkade. Kleine Werte (1–2°) wirken natürlich; größere Werte sehen zuckend aus.
Saccade-Pitch-Amplitude (Grad)1,0°Maximaler vertikaler Jitter pro Sakkade. Normalerweise etwas kleiner als die Gier-Amplitude.
Minimales Sakkadenintervall0,6 sMinimale Zeit zwischen Sakkaden.
Max Saccade-Intervall2,5 sMaximale Zeit zwischen Sakkaden. Größere Werte wirken ruhiger, kleinere Werte wirken unruhig.
Knochen (nur im Bones-Modus)
EigenschaftStandardBeschreibung
Linker AugenknochenFACIAL_L_EyeLinker Augenknochenname. Entspricht dem standardmäßigen MetaHuman-Gesichtsskelett.
Rechter AugenknochenFACIAL_R_EyeName des Knochens für das rechte Auge. Entspricht dem standardmäßigen MetaHuman-Gesichtsskelett.
Kalibrierung (nur Kurvenmodus)

Diese Werte legen fest, wie Kopfraumwinkel auf die Blickkurvenwerte der Augen des MetaHuman-Gesichts-CRs abgebildet werden. Die Standardwerte sind auf das normale MetaHuman-Gesichts-CR abgestimmt und müssen selten geändert werden.

EigenschaftStandardBeschreibung
Kurve für Grad pro Einheit (Gier)30°Winkel, der einem Kurvenwert von 1,0 für Gier-Blickkurven zugeordnet ist.
Kurve für Tonhöhengrad pro Einheit25°Winkel, der für Neigungs-Blickkurven auf einen Kurvenwert von 1,0 abbildet.

Kombination mit Lippen-Synchronisation und anderen Animationen

Beide Helfer sind so konzipiert, dass sie mit den Lippensynchronisationsknoten des Plugins und allen bereits vorhandenen benutzerdefinierten Gesichtsanimationen koexistieren können. Die allgemeine Regel lautet: Platzieren Sie die Knoten für Augenausrichtung und Control Rig (automatisches Blinzeln) nach der Lippensynchronisation und allen benutzerdefinierten Gesichtsanimationen, damit ihre Werte nachgelagert nicht überschrieben werden.

Detailliertes Ausführungs-Flussdiagramm anzeigen (Modus Kurven vs. Knochen)

Je nachdem, ob Ihr MetaHuman-Rig den empfohlenen Kurvenmodus oder den alternativen Knochenmodus verwendet, ändert sich die Platzierung Ihrer Ausführungslogik. Erweitern Sie die folgende Tabelle, 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 Hilfsfunktionen sind MetaHuman-spezifisch. Sie basieren auf den standardmäßigen Kurvennamen des MetaHuman-Gesichts-Control-Rigs (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.

Hilfe nötig?

Join our Discord
online · support

Bei individuellen Entwicklungsanfragen kontaktieren Sie bitte [email protected].