Configuración del Plugin
Configuración del Modelo
Configuración Estándar del Modelo
El nodo Create Runtime Viseme Generator utiliza configuraciones predeterminadas que funcionan bien para la mayoría de los escenarios. La configuración se maneja a través de las propiedades del nodo de mezcla del Animation Blueprint.
Para ver las opciones de configuración del Animation Blueprint, consulta la sección Configuración de Sincronización Labial más abajo.
Configuración del Modelo Realista
El nodo Create Realistic MetaHuman Lip Sync Generator acepta un parámetro opcional Configuration que te permite personalizar el comportamiento del generador:
Tipo de Modelo
La configuración Model Type determina qué versión del modelo realista usar:
| Tipo de Modelo | Rendimiento | Calidad Visual | Manejo de Ruido | Casos de Uso Recomendados |
|---|---|---|---|---|
| Altamente Optimizado (Predeterminado) | Mayor rendimiento, menor uso de CPU | Buena calidad | Puede mostrar movimientos de boca notorios con ruido de fondo o sonidos no vocales | Entornos de audio limpios, escenarios críticos de rendimiento |
| Semi-Optimizado | Buen rendimiento, uso moderado de CPU | Alta calidad | Mayor estabilidad con audio ruidoso | Rendimiento y calidad equilibrados, condiciones de audio mixtas |
| Original | Adecuado para uso en tiempo real en CPUs modernas | La más alta calidad | Más estable con ruido de fondo y sonidos no vocales | Producciones de alta calidad, entornos de audio ruidosos, cuando se necesita la máxima precisión |
Configuraciones de Rendimiento
Intra Op Threads: Controla el número de hilos utilizados para las operaciones de procesamiento interno del modelo.
- 0 (Predeterminado/Automático): Usa detección automática (típicamente 1/4 de los núcleos de CPU disponibles, máximo 4)
- 1-16: Especifica manualmente el recuento de hilos. Valores más altos pueden mejorar el rendimiento en sistemas multi-núcleo pero usan más CPU
Inter Op Threads: Controla el número de hilos utilizados para la ejecución paralela de diferentes operaciones del modelo.
- 0 (Predeterminado/Automático): Usa detección automática (típicamente 1/8 de los núcleos de CPU disponibles, máximo 2)
- 1-8: Especifica manualmente el recuento de hilos. Generalmente se mantiene bajo para procesamiento en tiempo real
Tamaño del Fragmento de Procesamiento
El Processing Chunk Size determina cuántas muestras se procesan en cada paso de inferencia. El valor predeterminado es 160 muestras (10ms de audio a 16kHz):
- Valores más pequeños proporcionan actualizaciones más frecuentes pero aumentan el uso de CPU
- Valores más grandes reducen la carga de CPU pero pueden disminuir la capacidad de respuesta de la sincronización labial
- Se recomienda usar múltiplos de 160 para una alineación óptima

Configuración del Modelo con Estados de Ánimo
El nodo Create Realistic MetaHuman Lip Sync With Mood Generator proporciona opciones de configuración adicionales más allá del modelo realista básico:
Configuración Básica
Lookahead Ms: Tiempo de anticipación en milisegundos para mejorar la precisión de la sincronización labial.
- Predeterminado: 80ms
- Rango: 20ms a 200ms (debe ser divisible por 20)
- Valores más altos proporcionan mejor sincronización pero aumentan la latencia
Output Type: Controla qué controles faciales se generan.
- Full Face: Los 81 controles faciales (cejas, ojos, nariz, boca, mandíbula, lengua)
- Mouth Only: Solo controles relacionados con la boca, mandíbula y lengua
Performance Settings: Utiliza las mismas configuraciones de Intra Op Threads e Inter Op Threads que el modelo realista regular.
Configuraciones de Estado de Ánimo
Estados de Ánimo Disponibles:
- Neutral, Happy, Sad, Disgust, Anger, Surprise, Fear
- Confident, Excited, Bored, Playful, Confused
Intensidad del Estado de Ánimo: Controla cuán fuertemente afecta el estado de ánimo a la animación (0.0 a 1.0)
Control de Estado de Ánimo en Tiempo de Ejecución
Puedes ajustar las configuraciones de estado de ánimo durante el tiempo de ejecución utilizando las siguientes funciones:
- Set Mood: Cambia el tipo de estado de ánimo actual
- Set Mood Intensity: Ajusta cuán fuertemente afecta el estado de ánimo a la animación (0.0 a 1.0)
- Set Lookahead Ms: Modifica el tiempo de anticipación para la sincronización
- Set Output Type: Cambia entre controles Full Face y Mouth Only

Guía de Selección de Estado de Ánimo
Elige estados de ánimo apropiados según tu contenido:
| Estado de Ánimo | Mejor Para | Rango Típico de Intensidad |
|---|---|---|
| Neutral | Conversación general, narración, estado predeterminado | 0.5 - 1.0 |
| Happy | Contenido positivo, diálogo alegre, celebraciones | 0.6 - 1.0 |
| Sad | Contenido melancólico, escenas emocionales, momentos sombríos | 0.5 - 0.9 |
| Disgust | Reacciones negativas, contenido desagradable, rechazo | 0.4 - 0.8 |
| Anger | Diálogo agresivo, escenas de confrontación, frustración | 0.6 - 1.0 |
| Surprise | Eventos inesperados, revelaciones, reacciones de sorpresa | 0.7 - 1.0 |
| Fear | Situaciones amenazantes, ansiedad, diálogo nervioso | 0.5 - 0.9 |
| Confident | Presentaciones profesionales, diálogo de liderazgo, discurso asertivo | 0.7 - 1.0 |
| Excited | Contenido energético, anuncios, diálogo entusiasta | 0.8 - 1.0 |
| Bored | Contenido monótono, diálogo desinteresado, discurso cansado | 0.3 - 0.7 |
| Playful | Conversación casual, humor, interacciones ligeras | 0.6 - 0.9 |
| Confused | Diálogo con muchas preguntas, incertidumbre, desconcierto | 0.4 - 0.8 |
Configuración del Animation Blueprint
Configuración de Sincronización Labial
- Standard Model
- Modelos Realistas
El nodo Blend Runtime MetaHuman Lip Sync tiene opciones de configuración en su panel de propiedades:
| Propiedad | Predeterminado | Descripción |
|---|---|---|
| Interpolation Speed | 25 | Controla la rapidez con la que los movimientos labiales transicionan entre visemas. Valores más altos resultan en transiciones más rápidas y abruptas. |
| Reset Time | 0.2 | La duración en segundos después de la cual se reinicia la sincronización labial. Esto es útil para evitar que la sincronización labial continúe después de que el audio se haya detenido. |
Animación de Risa
También puedes agregar animaciones de risa que responderán dinámicamente a la risa detectada en el audio:
- Agrega el nodo
Blend Runtime MetaHuman Laughter - Conecta tu variable
RuntimeVisemeGeneratoral pinViseme Generator - Si ya estás usando sincronización labial:
- Conecta la salida del nodo
Blend Runtime MetaHuman Lip SyncalSource Posedel nodoBlend Runtime MetaHuman Laughter - Conecta la salida del nodo
Blend Runtime MetaHuman Laughteral pinResultdelOutput Pose
- Conecta la salida del nodo
- Si usas solo risa sin sincronización labial:
- Conecta tu pose de origen directamente al
Source Posedel nodoBlend Runtime MetaHuman Laughter - Conecta la salida al pin
Result
- Conecta tu pose de origen directamente al

Cuando se detecta risa en el audio, tu personaje se animará dinámicamente en consecuencia:
Configuración de la Risa
El nodo Blend Runtime MetaHuman Laughter tiene sus propias opciones de configuración:
| Propiedad | Valor por Defecto | Descripción |
|---|---|---|
| Velocidad de Interpolación | 25 | Controla la rapidez con la que los movimientos labiales transicionan entre las animaciones de risa. Valores más altos resultan en transiciones más rápidas y abruptas. |
| Tiempo de Reinicio | 0.2 | La duración en segundos después de la cual se reinicia la risa. Esto es útil para evitar que la risa continúe después de que el audio se haya detenido. |
| Peso Máximo de Risa | 0.7 | Escala la intensidad máxima de la animación de risa (0.0 - 1.0). |
Nota: La detección de risa está disponible actualmente solo con el Modelo Estándar.
El nodo Blend Realistic MetaHuman Lip Sync tiene opciones de configuración en su panel de propiedades:
| Propiedad | Valor por Defecto | Descripción |
|---|---|---|
| Velocidad de Interpolación | 30 | Controla la rapidez con la que las expresiones faciales transicionan durante el habla activa. Valores más altos resultan en transiciones más rápidas y abruptas. |
| Velocidad de Interpolación en Reposo | 15 | Controla la rapidez con la que las expresiones faciales vuelven al estado de reposo/neutral. Valores más bajos crean retornos más suaves y graduales a la pose de descanso. |
| Tiempo de Reinicio | 0.2 | Duración en segundos después de la cual la sincronización labial se reinicia al estado de reposo. Útil para evitar que las expresiones continúen después de que el audio se detenga. |
| Preservar Estado de Reposo | false | Cuando está habilitado, preserva el último estado emocional durante los períodos de reposo en lugar de reiniciar a neutral. |
| Preservar Expresiones Oculares | true | Controla si los controles faciales relacionados con los ojos se preservan durante el estado de reposo. Solo es efectivo cuando Preservar Estado de Reposo está habilitado. |
| Preservar Expresiones de Cejas | true | Controla si los controles faciales relacionados con las cejas se preservan durante el estado de reposo. Solo es efectivo cuando Preservar Estado de Reposo está habilitado. |
| Preservar Forma de la Boca | false | Controla si los controles de forma de la boca (excluyendo movimientos específicos del habla como lengua y mandíbula) se preservan durante el estado de reposo. Solo es efectivo cuando Preservar Estado de Reposo está habilitado. |
Preservación del Estado de Reposo
La característica Preservar Estado de Reposo aborda cómo el modelo Realista maneja los períodos de silencio. A diferencia del modelo Estándar que usa visemas discretos y consistentemente vuelve a valores cero durante el silencio, la red neuronal del modelo Realista puede mantener un posicionamiento facial sutil que difiere de la pose de descanso predeterminada del MetaHuman.
Cuándo Habilitar:
- Mantener expresiones emocionales entre segmentos de habla
- Preservar rasgos de personalidad del personaje
- Asegurar continuidad visual en secuencias cinematográficas
Opciones de Control Regional:
- Expresiones Oculares: Preserva el entrecerrar los ojos, ensanchar los ojos y el posicionamiento de los párpados
- Expresiones de Cejas: Mantiene el posicionamiento de las cejas y la frente
- Forma de la Boca: Mantiene la curvatura general de la boca mientras permite que los movimientos del habla (lengua, mandíbula) se reinicien
Combinación con Animaciones Existentes
Para aplicar sincronización labial y risa junto con animaciones corporales existentes y animaciones faciales personalizadas sin sobrescribirlas:
- Agrega un nodo
Layered blend per boneentre tus animaciones corporales y la salida final. Asegúrate de queUse Attached Parentsea verdadero. - Configura la configuración de capas:
- Agrega 1 elemento al array
Layer Setup - Agrega 3 elementos a los
Branch Filterspara la capa, con los siguientesBone Names:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- Agrega 1 elemento al array
- Importante para animaciones faciales personalizadas: En
Curve Blend Option, selecciona "Use Max Value". Esto permite que las animaciones faciales personalizadas (expresiones, emociones, etc.) se superpongan correctamente sobre la sincronización labial. - Realiza las conexiones:
- Animaciones existentes (como
BodyPose) → entradaBase Pose - Salida de animación facial (de los nodos de sincronización labial y/o risa) → entrada
Blend Poses 0 - Nodo de mezcla por capas → pose
Resultfinal
- Animaciones existentes (como

Selección del Conjunto de Morph Targets
- Modelo Estándar
- Modelos Realistas
El Modelo Estándar utiliza assets de pose que inherentemente soportan cualquier convención de nombres de morph target a través de la configuración de asset de pose personalizada. No se necesita configuración adicional.
El nodo Blend Realistic MetaHuman Lip Sync incluye una propiedad Morph Target Set que determina qué convención de nombres de morph target usar para la animación facial:
| Conjunto de Morph Targets | Descripción | Casos de Uso |
|---|---|---|
| MetaHuman (Predeterminado) | Nombres de morph target estándar de MetaHuman (ej., CTRL_expressions_jawOpen) | Personajes MetaHuman |
| ARKit | Nombres compatibles con Apple ARKit (ej., JawOpen, MouthSmileLeft) | Personajes basados en ARKit |
Ajuste Fino del Comportamiento de Sincronización Labial
Control de Protrusión de la Lengua
En el modelo estándar de sincronización labial, puedes notar un movimiento excesivo de la lengua hacia adelante durante ciertos fonemas. Para controlar la protrusión de la lengua:
- Después de tu nodo de mezcla de sincronización labial, agrega un nodo
Modify Curve - Haz clic derecho en el nodo
Modify Curvey selecciona Add Curve Pin - Agrega un pin de curva con el nombre
CTRL_expressions_tongueOut - Establece la propiedad Apply Mode del nodo en Scale
- Ajusta el parámetro Value para controlar la extensión de la lengua (ej., 0.8 para reducir la protrusión en un 20%)
Control de Apertura de la Mandíbula
La sincronización labial realista puede producir movimientos de mandíbula excesivamente sensibles dependiendo de tu contenido de audio y requisitos visuales. Para ajustar la intensidad de la apertura de la mandíbula:
- Después de tu nodo de mezcla de sincronización labial, agrega un nodo
Modify Curve - Haz clic derecho en el nodo
Modify Curvey selecciona Add Curve Pin - Agrega un pin de curva con el nombre
CTRL_expressions_jawOpen - Establece la propiedad Apply Mode del nodo en Scale
- Ajusta el parámetro Value para controlar el rango de apertura de la mandíbula (ej., 0.9 para reducir el movimiento de la mandíbula en un 10%)
Ajuste Fino Específico del Estado de Ánimo
Para modelos con estados de ánimo habilitados, puedes ajustar finamente expresiones emocionales específicas:
Control de Cejas:
CTRL_expressions_browRaiseInL/CTRL_expressions_browRaiseInR- Elevación de la ceja interiorCTRL_expressions_browRaiseOuterL/CTRL_expressions_browRaiseOuterR- Elevación de la ceja exteriorCTRL_expressions_browDownL/CTRL_expressions_browDownR- Descenso de la ceja
Control de Expresión Ocular:
CTRL_expressions_eyeSquintInnerL/CTRL_expressions_eyeSquintInnerR- Entrecerrar los ojosCTRL_expressions_eyeCheekRaiseL/CTRL_expressions_eyeCheekRaiseR- Elevación de la mejilla
Comparación y Selección de Modelos
Elección Entre Modelos
Al decidir qué modelo de sincronización labial usar para tu proyecto, considera estos factores:
| Consideración | Modelo Estándar | Modelo Realista | Modelo Realista con Estados de Ánimo |
|---|---|---|---|
| Compatibilidad de Personajes | MetaHumans y todos los tipos de personajes personalizados | Personajes MetaHumans (y ARKit) | Personajes MetaHumans (y ARKit) |
| Calidad Visual | Buena sincronización labial con rendimiento eficiente | Realismo mejorado con movimientos de boca más naturales | Realismo mejorado con expresiones emocionales |
| Rendimiento | Optimizado para todas las plataformas incluyendo móvil/VR | Requisitos de recursos más altos | Requisitos de recursos más altos |
| Características | 14 visemas, detección de risa | 81 controles faciales, 3 niveles de optimización | 81 controles faciales, 12 estados de ánimo, salida configurable |
| Soporte de Plataforma | Windows, Android, Quest | Windows, Mac, iOS, Linux, Android, Quest | Windows, Mac, iOS, Linux, Android, Quest |
| Casos de Uso | Aplicaciones generales, juegos, VR/AR, móvil | Experiencias cinematográficas, interacciones de primer plano | Narrativa emocional, interacción avanzada de personajes |
Compatibilidad de Versiones del Motor
Si estás usando Unreal Engine 5.2, los Modelos Realistas pueden no funcionar correctamente debido a un error en la biblioteca de remuestreo de UE. Para los usuarios de UE 5.2 que necesitan funcionalidad de sincronización labial confiable, por favor usa el Modelo Estándar en su lugar.
Este problema es específico de UE 5.2 y no afecta a otras versiones del motor.
Recomendaciones de Rendimiento
- Para la mayoría de los proyectos, el Modelo Estándar proporciona un excelente equilibrio entre calidad y rendimiento
- Usa el Modelo Realista cuando necesites la máxima fidelidad visual para personajes MetaHuman
- Usa el Modelo Realista con Estados de Ánimo cuando el control de expresión emocional sea importante para tu aplicación
- Considera las capacidades de rendimiento de tu plataforma objetivo al elegir entre modelos
- Prueba diferentes niveles de optimización para encontrar el mejor equilibrio para tu caso de uso específico
Resolución de Problemas
Problemas Comunes
Recreación del Generador para Modelos Realistas: Para un funcionamiento confiable y consistente con los Modelos Realistas, se recomienda recrear el generador cada vez que quieras alimentar nuevos datos de audio después de un período de inactividad. Esto se debe al comportamiento del tiempo de ejecución de ONNX que puede hacer que la sincronización labial deje de funcionar al reutilizar generadores después de períodos de silencio.
Por ejemplo, podrías recrear el generador de sincronización labial en cada inicio de reproducción, como cada vez que llamas a Play Sound 2D o usas cualquier otro método para iniciar la reproducción de ondas de sonido y sincronización labial:

Ubicación del Plugin para Integración con Runtime Text To Speech: Cuando usas Runtime MetaHuman Lip Sync junto con Runtime Text To Speech (ambos plugins usan ONNX Runtime), puedes experimentar problemas en builds empaquetados si los plugins están instalados en la carpeta Marketplace del motor. Para solucionar esto:
- Localiza ambos plugins en tu carpeta de instalación de UE bajo
\Engine\Plugins\Marketplace(ej.,C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace) - Mueve ambas carpetas
RuntimeMetaHumanLipSyncyRuntimeTextToSpeecha la carpetaPluginsde tu proyecto - Si tu proyecto no tiene una carpeta
Plugins, crea una en el mismo directorio que tu archivo.uproject - Reinicia el Unreal Editor
Esto aborda problemas de compatibilidad que pueden ocurrir cuando múltiples plugins basados en ONNX Runtime se cargan desde el directorio Marketplace del motor.
Configuración de Empaquetado (Windows): Si la sincronización labial no funciona correctamente en tu proyecto empaquetado en Windows, asegúrate de usar la configuración de build Shipping en lugar de Development. La configuración Development puede causar problemas con el tiempo de ejecución de ONNX de los modelos realistas en builds empaquetados.
Para solucionar esto:
- En la Configuración de tu Proyecto → Packaging, establece la Build Configuration en Shipping
- Vuelve a empaquetar tu proyecto

En algunos proyectos solo con Blueprints, Unreal Engine aún puede construir en configuración Development incluso cuando se selecciona Shipping. Si esto sucede, convierte tu proyecto a un proyecto C++ agregando al menos una clase C++ (puede estar vacía). Para hacer esto, ve a Tools → New C++ Class en el menú del editor de UE y crea una clase vacía. Esto forzará al proyecto a construirse correctamente en configuración Shipping. Tu proyecto puede permanecer solo con Blueprints en funcionalidad, la clase C++ solo es necesaria para la configuración de build correcta.
Degradación de la Capacidad de Respuesta de la Sincronización Labial: Si experimentas que la sincronización labial se vuelve menos receptiva con el tiempo cuando usas Streaming Sound Wave o Capturable Sound Wave, esto puede ser causado por la acumulación de memoria. Por defecto, la memoria se reasigna cada vez que se agrega nuevo audio. Para evitar este problema, llama a la función ReleaseMemory periódicamente para liberar la memoria acumulada, como cada 30 segundos aproximadamente.
Optimización del Rendimiento:
- Ajusta el Tamaño del Fragmento de Procesamiento para modelos realistas según tus requisitos de rendimiento
- Usa recuentos de hilos apropiados para tu hardware objetivo
- Considera usar el tipo de salida Mouth Only para modelos con estados de ánimo cuando no se necesite animación facial completa