Zum Hauptinhalt springen

Augenanimations-Helfer

Zusätzlich zur Lippen-Synchronisation enthält das Plugin Runtime MetaHuman Lip Sync zwei optionale Hilfsfunktionen zum Animieren der MetaHuman-Augen:

  • Auto Blink: ein Helfer, der natürliche, zufällige Augenblinzeln auf einem MetaHuman erzeugt
  • Eyes Aim: ein Animation-Blueprint-Knoten, der die Augen eines MetaHumans 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, sofort einsetzbare Helfer gedacht, um lebensechtes Augenverhalten hinzuzufügen, ohne es manuell erstellen zu müssen.

Funktionsvorschauen

Auto Blink: automatisches Augenblinzeln
Augen zielen: Verfolgung der Spielerkamera
Augen zielen: einem sich bewegenden Ziel-Actor folgen

Video-Durchlauf

Vollständiger Durchlauf beider Helfer, einschließlich der Problemumgehung für das Legacy-Rig.

Wann diese Helfer verwendet werden sollten

Wenn Ihre Pipeline für Gesichtsanimationen bereits Blinzeln und dynamischen Blick 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, beispielsweise wenn Ihre Animationssequenzen kein Blinzeln enthalten oder wenn Sie benötigen, dass die Augen einem sich bewegenden Ziel dynamisch folgen (etwas, das statische Animationssequenzen nicht leisten können). Sie können auch über bestehende Gesichtsanimationen gelegt werden, um fehlende Elemente zu ergänzen, etwa Blinzeln über einer Sequenz, die nur den Mund animiert.

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

So funktioniert es

Jeden 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 Zustand pro Charakter (nächste Blinkzeit, aktuelle Offen-/Geschlossen-Phase usw.), abgelegt nach dem 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. Sie speichern diese Werte dann in Blueprint-Variablen und speisen sie in den Control Rig-Knoten im Animationsgraphen ein

Einrichtung

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

In Ihrem Face Animation Blueprint (z. B. Face_AnimBP oder Ihrer duplizierten/kopierten Version, siehe Einrichtungsanleitung), öffnen Sie 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 Ereignis) mit Delta Seconds
  3. (Optional) Konfigurieren Sie die Config-Struktur. Die Standardwerte wirken bereits natürlich
  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, der die Blink-Kurven steuert. Wo genau er platziert wird, hängt davon ab, ob Sie Auto Blink mit anderen Gesichtsanimationen (Lip Sync, benutzerdefinierte Sequenzen usw.) kombinieren:
    • Keine andere Gesichtsanimation: Platzieren Sie den Control-Rig-Knoten direkt in der Hauptkette, vor Output Pose.
    • Kombination mit Lippen-Synchronisation und/oder anderer Gesichtsanimation: Verbinden Sie diesen Control-Rig-Knoten stattdessen mit einem Layered blend per bone-Knoten, anstatt ihn direkt in die Kette zu setzen – siehe den Tipp unten.
  2. Legen Sie im Details-Panel des Knotens die Control-Rig-Klasse (Control-Rig-Asset-Referenz 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. Im Details-Panel erweitern Sie den Abschnitt Input und aktivieren Use Pin für:
    • CTRL_L_eye_blink
    • CTRL_R_eye_blink
  4. Verbinden Sie Ihre Variable LeftBlinkValue mit CTRL_L_eye_blink
  5. Verbinden Sie Ihre Variable RightBlinkValue mit CTRL_R_eye_blink

Auto Blink Anim Graph setup

Platzierung ist wichtig

Wenn Sie dies nicht mit anderer Gesichtsanimation kombinieren, platzieren Sie den Control-Rig-Knoten nach den Lip-Sync-Blend-Knoten (und allen anderen Gesichtsanimationsknoten) in der Kette, damit die Blinkwerte nicht überschrieben werden. Wenn Sie dies doch mit Lip-Sync oder anderer Gesichtsanimation kombinieren, folgen Sie der Anleitung Kombinieren mit vorhandenen Animationen und verbinden Sie diesen Control-Rig-Knoten stattdessen mit dem Eingang Basis-Pose des Knotens Layered blend per bone. Der Layered-Blend-Knoten hält beide am Leben, anstatt dass einer den anderen einfach überschreibt.

Konfiguration

Der Knoten Update MetaHuman Auto Blink akzeptiert eine optionale Config-Struktur. Die Standardwerte wirken für die meisten Charaktere bereits natürlich; erweitern Sie den Bereich unten, wenn Sie das Verhalten anpassen möchten.

Konfigurationseigenschaften

Timing

EigenschaftStandardBeschreibung
Mindestzeit zwischen Lidschlägen2,0 sMindestintervall 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.
Mindesthaltedauer bei geschlossenen Augen0,04 sMindestzeit, in der die Augen vollständig geschlossen bleiben.
Maximale Haltedauer bei geschlossenen Augen0,08 sMaximale Zeit, in der die Augen vollständig geschlossen bleiben.

Interpolation

EigenschaftStandardBeschreibung
Schließ-Interpolationsgeschwindigkeit35.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.
Öffnungs-Interpolationsgeschwindigkeit18.0Geschwindigkeit beim Öffnen der Augen.
Schließ-Schwellenwert0.97Wert, bei dem der Lidschlag als „vollständig geschlossen“ gilt und die Haltephase beginnt.
Öffnungs-Schwellenwert0.02Wert, bei dem der Lidschlag als „vollständig geöffnet“ gilt und der nächste Lidschlag geplant wird.

Sonstiges

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

Runtime-Steuerung

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 Neuspawnen eines Charakters oder beim Wechseln von Filmzuständen).

Augen Zielen

Der Eyes-Aim-Helper ist ein Animation-Blueprint-Knoten (Runtime MetaHuman Eyes Aim), der die Augen der Figur einer Position im Weltraum folgen lässt, beispielsweise der Spielerkamera, einem anderen Actor oder einem beliebigen beweglichen Ziel. Er unterstützt Yaw/Pitch-Begrenzung, Glättung, Anti-Flip-Schutz, wenn das Ziel hinter den Kopf gelangt, sowie optionale Mikro-Sakkaden für zusätzlichen Realismus.

Auswahl eines Modus

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

ModeWas es steuertWo es platziert wird
Kurven (Standard)Die Eye-Look-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 RigsIm Face Post Process Animation Blueprint (z. B. Face_PostProcess_AnimBP), nach dem AnimNode_RigLogic-Knoten

Curves-Modus ist die empfohlene Standardeinstellung. Er fügt sich sauber in andere kurvenbasierte Gesichtssysteme ein (Lip-Sync, Ausdrücke, ARKit-Blendshapes usw.), da die Werte über die normale Control-Rig-Auswertung kombiniert 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 über Quixel Bridge heruntergeladener) steuern die Blickkurven die Augen nicht tatsächlich. Das sichtbare Symptom ist, dass die Augen nach unten blicken und die Pupillen fast verborgen sind, wenn der Knoten im Kurvenmodus aktiv ist, unabhängig vom Zielort.

Wenn du dies siehst, wechsle in den Bones-Modus. Der Bones-Modus rotiert direkt die Augenknochen, sodass er bei jeder MetaHuman-Variante funktioniert, unabhängig davon, wie das Control Rig verdrahtet ist. Siehe den Bones-Tab in Setup unten.

Setup

Die Standardeinrichtung. Der Node befindet sich im standardmäßigen Face-Animation-Blueprint und steuert die Eye-Look-Kurven des Gesichts-Control-Rigs.

Zwei Schritte: Fügen Sie den Knoten zu Ihrem Animationsdiagramm hinzu und übergeben Sie ihm dann eine Zielposition aus dem Ereignisdiagramm.

1. Anim Graph: Fügen Sie den Knoten hinzu

In Ihrem Face Animation Blueprint-Animationsgraphen:

  1. Fügen Sie einen Runtime MetaHuman Eyes Aim-Knoten hinzu
  2. Lassen Sie Mode im Detailpanel auf Curves eingestellt
  3. Platzieren Sie ihn nach aller anderen Gesichtslogik, die in die Augen-Blick-Kurven schreiben kann (Lip Sync, benutzerdefinierte Animationen usw.), nach demselben Prinzip wie beim Auto Blink Control Rig-Knoten
  4. Verbinden Sie die vorhandene Pose mit Source Pose
  5. Verbinden Sie den Ausgang 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 aktualisieren diese Variable im nächsten Schritt aus dem Event Graph.

Eyes Aim Anim Graph setup

2. Ereignisgraph: Zielposition einspeisen

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

  1. Holen Sie sich den 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 Blueprint-Variable TargetWorldLocation

Eyes Aim, tracking the camera

Um stattdessen einen beliebigen Actor (NPC, Objekt, Ort von Interesse) zu verfolgen, rufe die Position dieses Actors in jedem Frame ab und speichere sie in derselben Variable. Für einen festen Blickpunkt setze Target World Location einmal oder als Konstante im Details-Panel des Nodes.

Konfiguration

Alle Einstellungen werden im Details-Bereich des Knotens Runtime MetaHuman Eyes Aim verfügbar gemacht.

Zielen & Begrenzen

Ziel

EigenschaftStandardBeschreibung
ModeKurvenLegt fest, wie die Augen gesteuert werden. Siehe Auswahl eines Modus.
Ziel-Weltposition(0,0,0)Punkt im Weltraum, den die Augen ansehen. Standardmäßig als Pin verfügbar.
bEnabledtrueWenn false, gleiten die Augen zurück nach vorne und ignorieren das Ziel. Standardmäßig als Pin verfügbar.

Klemmen

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

Glättung

EigenschaftStandardBeschreibung
Interpolationsgeschwindigkeit12.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 aktivierentrueSchaltet Mikro-Sakkaden ein/aus.
Sakkaden-Gier-Amplitude in Grad1,5°Maximales horizontales Zittern pro Sakkade. Kleine Werte (1–2°) wirken natürlich; größere Werte wirken zuckend.
Sakkaden-Nick-Amplitude in Grad1,0°Maximales vertikales Zittern pro Sakkade. Normalerweise etwas kleiner als die Gier-Amplitude.
Min. Sakkadenintervall0,6 sMindestzeit zwischen Sakkaden.
Max. Sakkadenintervall2,5 sMaximale Zeit zwischen Sakkaden. Größere Werte wirken ruhiger, kleinere Werte wirken unruhig.
Knochen (nur im Bones-Modus)
EigenschaftStandardBeschreibung
Linkes AugenknochenFACIAL_L_EyeName des linken Augenknochens. Entspricht dem standardmäßigen MetaHuman-Gesichtsskelett.
Rechtes AugenknochenFACIAL_R_EyeName des rechten Augenknochens. Entspricht dem standardmäßigen MetaHuman-Gesichtsskelett.
Kalibrierung (nur Kurvenmodus)

Diese Werte definieren, wie Kopfraumwinkel auf die Augen-Blick-Kurvenwerte des MetaHuman-Gesichts-CRs abgebildet werden. Die Standardwerte sind auf das Standard-MetaHuman-Gesichts-CR abgestimmt und müssen nur selten geändert werden.

EigenschaftStandardBeschreibung
Grad Yaw pro Einheitskurve30°Winkel, der für Yaw-Blickkurven einem Kurvenwert von 1.0 entspricht.
Grad Pitch pro Einheitskurve25°Winkel, der für Pitch-Blickkurven einem Kurvenwert von 1.0 entspricht.

Kombination mit Lip Sync und anderen Animationen

Beide Helfer sind so konzipiert, dass sie mit den Lip-Sync-Knoten des Plugins und jeder benutzerdefinierten Gesichtsanimation, die Sie bereits haben, koexistieren können.

  • Eyes Aim sollte nach dem Lippen-Sync und jeder benutzerdefinierten Gesichtsanimation in derselben Kette platziert werden, damit seine Blickwerte nicht nachgelagert überschrieben werden. Siehe Modus auswählen und Einrichtung oben.
  • Auto Blink verwendet einen Layered blend per bone-Knoten anstelle einer einfachen linearen Platzierung; siehe den Tipp Platzierung ist wichtig oben zum Verdrahten des Control-Rig-Knotens in seinen Base Pose-Eingang.
Detailliertes Ausführungs-Flussdiagramm ansehen (Kurven- vs. Knochenmodus)

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 Lip Sync befinden sich in beiden Modi weiterhin im regulären Face AnimBP.

Details zum Layering mit Körperanimationen finden Sie unter Kombinieren mit vorhandenen Animationen.

Anmerkungen & Einschränkungen

Diese Helfer sind MetaHuman-spezifisch. Sie verlassen sich auf die standardmäßigen MetaHuman-Gesichts-Control-Rig-Kurvennamen (CTRL_L_eye_blink, CTRL_R_eye_blink, CTRL_expressions_eyeLook*) und die standardmäßigen Augenknochen (FACIAL_L_Eye, FACIAL_R_Eye). Sie sind nicht für benutzerdefinierte Nicht-MetaHuman-Charaktere gedacht.

Brauchen Sie Hilfe?

Join our Discord
online · support

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