Ayudantes de Animación de Ojos
Además de la sincronización de labios, el plugin Runtime MetaHuman Lip Sync incluye dos utilidades auxiliares opcionales para animar los ojos de los MetaHuman:
- Auto Blink: un asistente que produce parpadeos oculares naturales y aleatorios en un MetaHuman
- Eyes Aim: un nodo de Animation Blueprint que hace que los ojos de un MetaHuman miren hacia una ubicación en el espacio del mundo
Estas funciones son completamente independientes de la sincronización de labios y pueden usarse por sí solas, juntas o combinadas con los nodos de sincronización de labios. Están pensadas como ayudas ligeras y de integración directa para añadir un comportamiento ocular realista sin tener que crearlo manualmente.
Vistas previas de funciones
Video Walkthrough
Guía completa de ambos ayudantes, incluida la solución alternativa para el rig heredado.
Si tu flujo de trabajo de animación facial ya incluye parpadeos y mirada dinámica, puedes omitir esta página. Estos ayudantes existen para casos en los que deseas un comportamiento ocular realista sin tener que crearlo tú mismo, por ejemplo, cuando tus secuencias de animación no incluyen parpadeos, o cuando necesitas que los ojos sigan dinámicamente un objetivo en movimiento (algo que las secuencias de animación estáticas no pueden hacer). También se pueden superponer sobre animaciones faciales existentes para añadir piezas faltantes, como parpadeos sobre una secuencia que solo anima la boca.
Parpadeo automático
El asistente de parpadeo automático produce parpadeos aleatorios y de aspecto natural al controlar las curvas CTRL_L_eye_blink y CTRL_R_eye_blink del MetaHuman Face Control Rig.
Cómo funciona
Cada fotograma, llamas a Update MetaHuman Auto Blink desde el Event Graph de tu Face Animation Blueprint y pasas el delta time del fotograma. La función:
- Realiza un seguimiento del estado por personaje (próximo tiempo de parpadeo, fase actual de abierto/cerrado, etc.) indexado por el
AnimInstanceque lo llama - Devuelve dos valores flotantes en el rango 0..1, uno para el ojo izquierdo y otro para el derecho, que representan cuán cerrado está cada ojo en ese momento
- Luego almacenas estos valores en variables de Blueprint y los introduces en el nodo de Control Rig en el Anim Graph
Configuración
Dos pasos: añade la llamada de parpadeo a tu Event Graph y luego introduce los valores en un nodo de Control Rig en el Anim Graph.
1. Event Graph: controla los valores de parpadeo en cada frame.
En tu Face Animation Blueprint (por ejemplo, Face_AnimBP o tu versión duplicada/copiada, consulta la Guía de Configuración), abre el Event Graph y agrega lo siguiente a Event Blueprint Update Animation:
- Llama a
Update MetaHuman Auto Blink - Conecta Delta Time X (del evento) a Delta Seconds
- (Opcional) Configura la estructura Config. Los valores predeterminados ya se ven naturales
- Promueve Left Blink Value y Right Blink Value a variables de Blueprint (p. ej.,
LeftBlinkValue,RightBlinkValue)

2. Anim Graph: introduce los valores en el Face Control Rig.
En el Anim Graph del mismo Animation Blueprint:
- Coloca un nodo de Control Rig que impulse las curvas de parpadeo. Dónde exactamente va depende de si estás combinando Auto Blink con otra animación facial (sincronización de labios, secuencias personalizadas, etc.):
- Sin otra animación facial: coloca el nodo de Control Rig directamente en la cadena principal, antes de
Output Pose. - Combinación con lip sync y/u otra animación facial: conecta este nodo de Control Rig a un nodo
Layered blend per boneen lugar de colocarlo directamente en la cadena; consulta el consejo a continuación.
- Sin otra animación facial: coloca el nodo de Control Rig directamente en la cadena principal, antes de
- En el panel de Detalles del nodo, establece Clase de Control Rig (Referencia de Asset de Control Rig en UE 5.8+) a tu Control Rig facial de MetaHuman. La ruta es típicamente:
/All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig- Su proyecto puede tener una ruta diferente dependiendo de cómo se importó el MetaHuman.
- En el panel de Detalles, expande la sección Entrada y habilita Usar Pin para:
CTRL_L_eye_blinkCTRL_R_eye_blink
- Conecta tu variable
LeftBlinkValueaCTRL_L_eye_blink - Conecta tu variable
RightBlinkValueaCTRL_R_eye_blink

Si no lo estás combinando con otra animación facial, coloca el nodo de Control Rig después de los nodos de mezcla de sincronización de labios (y cualquier otro nodo de animación facial) en la cadena para que los valores de parpadeo no se sobrescriban. Si sí lo estás combinando con sincronización de labios u otra animación facial, sigue la guía de Combinación con Animaciones Existentes y conecta este nodo de Control Rig a la entrada de Pose Base del nodo Layered blend per bone en su lugar; el nodo de mezcla por capas mantiene ambos activos, en lugar de que uno simplemente sobrescriba al otro.
Configuración
El nodo Update MetaHuman Auto Blink acepta una estructura Config opcional. Los valores predeterminados ya se ven naturales para la mayoría de los personajes; expande a continuación si deseas ajustar el comportamiento.
Propiedades de configuración
Tiempo
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Tiempo mínimo entre parpadeos | 2.0 s | Intervalo mínimo entre parpadeos mientras los ojos están completamente abiertos. |
| Tiempo máximo entre parpadeos | 4.0 s | Intervalo máximo entre parpadeos. El intervalo real se aleatoriza entre el mínimo y el máximo. |
| Tiempo mínimo de cierre sostenido | 0.04 s | Tiempo mínimo que los ojos permanecen completamente cerrados. |
| Tiempo máximo de cierre sostenido | 0.08 s | Tiempo máximo que los ojos permanecen completamente cerrados. |
Interpolación
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Velocidad de interpolación de cierre | 35.0 | Velocidad al cerrar los ojos. Los humanos cierran los ojos más rápido de lo que los abren, por lo que esto es intencionalmente más alto que la velocidad de apertura. |
| Velocidad de interpolación de apertura | 18.0 | Velocidad al abrir los ojos. |
| Umbral de cierre | 0.97 | Valor en el que el parpadeo se considera "completamente cerrado" y comienza la fase de mantenimiento. |
| Umbral de apertura | 0.02 | Valor en el que el parpadeo se considera "completamente abierto" y se programa el siguiente parpadeo. |
Misceláneo
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Ojos independientes | false | Cuando true, el ojo izquierdo y el derecho parpadean de forma independiente con tiempos separados. Cuando false (predeterminado), ambos ojos parpadean en perfecta sincronía. |
bEnabled (pin de función) | true | Cuando false, los ojos se relajan y se abren, y el parpadeo se pausa. Útil para escenas cinematográficas, sueño, muerte, etc. |
Control en tiempo de ejecución
También puedes llamar a Reset Auto Blink State para limpiar explícitamente el estado interno de un AnimInstance dado (por ejemplo, al reaparecer un personaje o cambiar de estados cinematográficos).
Ojos Apuntan
El helper Eyes Aim es un nodo de Animation Blueprint (Runtime MetaHuman Eyes Aim) que hace que los ojos del personaje sigan una ubicación en el espacio mundial, por ejemplo, la cámara del jugador, otro actor o cualquier objetivo en movimiento. Admite limitación de guiñada/cabeceo, suavizado, protección contra giros cuando el objetivo pasa detrás de la cabeza y microsacadas opcionales para mayor realismo.
Eligiendo un Modo
El nodo admite dos modos, seleccionados mediante el menú desplegable Modo en el panel de Detalles del nodo:
| Mode | Qué controla | Dónde colocarlo |
|---|---|---|
| Curvas (predeterminado) | Las curvas de mirada ocular del Control Rig facial (CTRL_expressions_eyeLook*) | En el Animation Blueprint facial (p. ej., Face_AnimBP), antes del nodo de Control Rig |
| Huesos | Los huesos FACIAL_L_Eye / FACIAL_R_Eye directamente, omitiendo el Control Rig | En el Animation Blueprint de posprocesado facial (p. ej., Face_PostProcess_AnimBP), después del nodo AnimNode_RigLogic |
Modo Curves es el predeterminado recomendado. Se compone limpiamente con otros sistemas faciales basados en curvas (lip sync, expresiones, blendshapes de ARKit, etc.), ya que los valores se combinan mediante la evaluación normal del Control Rig en lugar de competir por las transformaciones de los huesos.
En algunas variantes de MetaHuman (especialmente rigs antiguos, incluidos algunos descargados mediante Quixel Bridge), las curvas de mirada no controlan realmente los ojos. El síntoma visible es que los ojos miran hacia abajo con las pupilas casi ocultas cuando el nodo en modo Curves está activo, independientemente de la ubicación del objetivo.
Si ves esto, cambia al modo Bones. El modo Bones rota directamente los huesos de los ojos, por lo que funciona en todas las variantes de MetaHuman, independientemente de cómo esté conectado el Control Rig. Consulta la pestaña Bones en Configuración a continuación.
Configuración
- Modo Curvas (predeterminado)
- Modo de huesos (respaldo)
La configuración predeterminada. El nodo vive en el Face Animation Blueprint estándar y controla las curvas de mirada de ojos del Control Rig facial.
Dos pasos: añade el nodo a tu Anim Graph y luego proporciónale una ubicación objetivo desde el Event Graph.
1. Anim Graph: añade el nodo
En el Anim Graph de tu Face Animation Blueprint:
- Añade un nodo
Runtime MetaHuman Eyes Aim - Deja Mode configurado en Curves en el panel de Details
- Colócalo después de toda la lógica facial que pueda escribir en las curvas de mirada ocular (lip sync, animaciones personalizadas, etc.), mismo principio que el nodo Auto Blink Control Rig
- Conecta la pose existente a Source Pose
- Conecta la salida al siguiente nodo de tu cadena (o
Output Pose) - Crea una variable Blueprint de tipo
Vector(p. ej.TargetWorldLocation) y conéctala al pin Target World Location del nodo. Actualizarás esta variable desde el Event Graph en el siguiente paso.

2. Grafo de eventos: introduce una ubicación objetivo
El pin Target World Location espera un FVector en espacio mundial. Un caso común es hacer que el MetaHuman mire hacia la cámara del jugador. En Event Blueprint Update Animation:
- Obtén Player Camera Manager (Índice de Jugador 0)
- Verifica Is Valid
- Si es válido, llama a Get Camera Location
- Guárdalo en la variable Blueprint
TargetWorldLocation

Para rastrear un actor arbitrario (NPC, objeto, punto de interés) en su lugar, obtén la ubicación de ese actor en cada fotograma y guárdala en la misma variable. Para un punto de mirada fijo, establece Target World Location una vez o como una constante en el panel de Detalles del nodo.
Usa esta configuración si el enfoque del modo Curves no funciona para tu variante de MetaHuman (consulta la advertencia anterior). En el modo Bones, el nodo rota directamente los huesos de los ojos y debe ejecutarse después de que el Control Rig haya terminado de evaluar, lo que significa que pertenece al Face Post Process Animation Blueprint en lugar del Face AnimBP regular.
Tres pasos: localiza el Post Process Anim BP, añade el nodo después de RigLogic y luego pásale una ubicación objetivo desde el Event Graph de ese blueprint.
1. Localiza el Face Post Process Anim BP
- Abre el activo Skeletal Mesh de la cara de tu MetaHuman (p. ej.
Faceen la carpeta de tu MetaHuman) - En el panel Details del activo, busca el campo Post Process Anim Blueprint
- Abre ese activo, normalmente se llama algo como
Face_PostProcess_AnimBP
2. Anim Graph: añade el nodo después de RigLogic
En el Anim Graph del Face Post Process Anim BP:
- Localiza el nodo existente
AnimNode_RigLogic(convierte las curvas del Control Rig facial en transformaciones de huesos) - Agrega un nodo
Runtime MetaHuman Eyes Aimdespués deAnimNode_RigLogicy antes deOutput Pose - En el panel de detalles del nodo, establece Mode en Bones
- Conecta
AnimNode_RigLogical Source Pose del nodo Eyes Aim - Conecta la salida del nodo Eyes Aim a
Output Pose - Crea una variable de Blueprint
Vector(por ejemplo,TargetWorldLocation) en este Post Process Anim BP y conéctala al pin Target World Location del nodo

Las referencias de hueso predeterminadas (FACIAL_L_Eye y FACIAL_R_Eye) coinciden con el esqueleto facial estándar de MetaHuman. Si tu personaje utiliza un esqueleto personalizado con nombres de huesos oculares diferentes, anúlalas en el panel de Detalles del nodo bajo la categoría Huesos.
3. Event Graph: introduce una ubicación objetivo
Debido a que el nodo vive en el Post Process Anim BP, la lógica de ubicación objetivo también debe vivir en el Event Graph de este blueprint, no en Face_AnimBP. La configuración es idéntica al modo Curves (obtener la ubicación de la cámara, la ubicación de un actor o usar una constante), solo que se realiza dentro de Face_PostProcess_AnimBP.

Cualquier lógica no relacionada (lip sync, parpadeo automático, etc.) puede permanecer en el Face AnimBP regular. Solo el cálculo de la ubicación objetivo para Eyes Aim necesita moverse aquí. El Control Rig Facial fuerza los huesos de los ojos en cada fotograma según sus curvas. Si el nodo Eyes Aim se ejecutara en el Face AnimBP regular (antes del Control Rig), el Control Rig sobrescribiría las rotaciones de los huesos después. El Post Process Anim BP se ejecuta después de que el Control Rig haya producido sus transformaciones finales de huesos, por lo que es el lugar correcto para aplicar rotaciones finales de huesos que necesitan "ganar".¿Por qué el modo Bones necesita el Post Process Anim BP?
Configuración
Todos los ajustes están expuestos en el panel de Detalles del nodo Runtime MetaHuman Eyes Aim.
Apunta y Limita
Objetivo
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Mode | Curvas | Selecciona cómo se controlan los ojos. Consulta Elección de un modo. |
| Ubicación Mundial del Objetivo | (0,0,0) | Punto en el espacio mundial al que miran los ojos. Expuesto como pin de forma predeterminada. |
bEnabled | true | Cuando es false, los ojos vuelven suavemente hacia adelante e ignoran el objetivo. Expuesto como pin de forma predeterminada. |
Abrázate
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Grados máximos de guiñada | 35° | Desviación horizontal máxima (guiñada) desde la dirección frontal de la cabeza. Limitado de 0 a 80. |
| Grados máximos de cabeceo | 25° | Desviación vertical máxima (cabeceo) desde la dirección frontal de la cabeza. Limitado de 0 a 80. |
| Anti volteo hacia atrás | true | Evita que los ojos se volteen cuando el objetivo pasa detrás de la cabeza. |
Suavizado y Sacadas
Suavizado
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Velocidad de interpolación | 12.0 | Velocidad de suavizado para el movimiento ocular. Mayor = más ágil, menor = más lánguido. |
Sacadas
Las micro-sacadas son pequeños desplazamientos aleatorios de la mirada que los ojos reales realizan constantemente. Añadirlas evita el aspecto de "ojos muertos" que produce un seguimiento perfectamente suave.
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Habilitar sacadas | true | Activa o desactiva las micro-sacadas. |
| Amplitud de guiñada de sacada (grados) | 1.5° | Máxima vibración horizontal por sacada. Los valores pequeños (1–2°) resultan naturales; los valores más grandes se ven nerviosos. |
| Amplitud de cabeceo de sacada (grados) | 1.0° | Máxima vibración vertical por sacada. Suele ser ligeramente menor que la amplitud de guiñada. |
| Intervalo mínimo de sacada | 0.6 s | Tiempo mínimo entre sacadas. |
| Intervalo máximo de sacada | 2.5 s | Tiempo máximo entre sacadas. Los valores más grandes transmiten calma; los valores más pequeños, inquietud. |
Huesos (solo en modo Huesos)
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Hueso del ojo izquierdo | FACIAL_L_Eye | Nombre del hueso del ojo izquierdo. Coincide con el esqueleto facial estándar de MetaHuman. |
| Hueso del ojo derecho | FACIAL_R_Eye | Nombre del hueso del ojo derecho. Coincide con el esqueleto facial estándar de MetaHuman. |
Calibración (solo modo Curves)
Estos valores definen cómo los ángulos del espacio de la cabeza se asignan a los valores de la curva de mirada de ojos del CR de la cara de MetaHuman. Los valores predeterminados están ajustados para el CR de cara estándar de MetaHuman y rara vez necesitan cambiarse.
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Curva de grados de guiñada por unidad | 30° | Ángulo que se asigna a un valor de curva de 1.0 para las curvas de mirada de guiñada. |
| Curva de grados de cabeceo por unidad | 25° | Ángulo que se asigna a un valor de curva de 1.0 para las curvas de mirada de cabeceo. |
Combinando con Lip Sync y otras animaciones
Ambos ayudantes están diseñados para coexistir con los nodos de sincronización de labios del plugin y cualquier animación facial personalizada que ya tengas.
- Eyes Aim debe colocarse después de la sincronización de labios y de cualquier animación facial personalizada en la misma cadena, para que sus valores de mirada no se sobrescriban aguas abajo. Consulta Elegir un modo y Configuración más arriba.
- Auto Blink utiliza un nodo
Layered blend per boneen lugar de una colocación lineal simple; consulta el consejo La colocación importa más arriba para conectar el nodo de Control Rig en su entrada de Base Pose.
Ver Diagrama de Flujo de Ejecución Detallado (Modo Curvas vs. Huesos)
Dependiendo de si tu rig de MetaHuman utiliza el recomendado Modo de Curvas o el alternativo Modo de Huesos, la ubicación de tu lógica de ejecución cambiará. Expande el gráfico a continuación para ver el orden de ejecución exacto para ambos pipelines:
El parpadeo automático y la sincronización de labios siguen viviendo en el Face AnimBP regular en ambos modos.
Para obtener detalles sobre la superposición con animaciones corporales, consulta Combinación con animaciones existentes.
Notas y limitaciones
Estos ayudantes son específicos de MetaHuman. Dependen de los nombres estándar de curvas del Control Rig facial de MetaHuman (CTRL_L_eye_blink, CTRL_R_eye_blink, CTRL_expressions_eyeLook*) y de los huesos oculares estándar (FACIAL_L_Eye, FACIAL_R_Eye). No están diseñados para personajes personalizados que no sean MetaHuman.
¿Necesitas ayuda?
Para solicitudes de desarrollo personalizado, contacta con [email protected].