Saltar al contenido principal

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 las opciones de configuración del Animation Blueprint, consulta la sección Configuración de Sincronización Labial a continuación.

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 ModeloRendimientoCalidad VisualManejo de RuidoCasos de Uso Recomendados
Altamente Optimizado (Predeterminado)Mayor rendimiento, menor uso de CPUBuena calidadPuede mostrar movimientos de boca notorios con ruido de fondo o sonidos no vocalesEntornos de audio limpios, escenarios críticos de rendimiento
Semi-OptimizadoBuen rendimiento, uso moderado de CPUAlta calidadMayor estabilidad con audio ruidosoRendimiento y calidad equilibrados, condiciones de audio mixtas
OriginalAdecuado para uso en tiempo real en CPUs modernasCalidad más altaMás estable con ruido de fondo y sonidos no vocalesProducciones de alta calidad, entornos de audio ruidosos, cuando se necesita máxima precisión

Configuraciones de Rendimiento

Intra Op Threads: Controla el número de hilos utilizados para 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

Configurar Tamaño del Fragmento de Procesamiento

Configuración del Modelo Habilitado para 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 boca, mandíbula y lengua

Performance Settings: Utiliza las mismas configuraciones 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

Mood Intensity: Controla qué tan fuerte 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 qué tan fuerte afecta el estado de ánimo a la animación (0.0 a 1.0)
  • Set Lookahead Ms: Modifica el tiempo de anticipación para sincronización
  • Set Output Type: Cambia entre controles Full Face y Mouth Only

Configuración de Estado de Ánimo

Guía de Selección de Estado de Ánimo

Elige estados de ánimo apropiados según tu contenido:

Estado de ÁnimoMejor ParaRango Típico de Intensidad
NeutralConversación general, narración, estado predeterminado0.5 - 1.0
HappyContenido positivo, diálogo alegre, celebraciones0.6 - 1.0
SadContenido melancólico, escenas emocionales, momentos sombríos0.5 - 0.9
DisgustReacciones negativas, contenido desagradable, rechazo0.4 - 0.8
AngerDiálogo agresivo, escenas de confrontación, frustración0.6 - 1.0
SurpriseEventos inesperados, revelaciones, reacciones de sorpresa0.7 - 1.0
FearSituaciones amenazantes, ansiedad, diálogo nervioso0.5 - 0.9
ConfidentPresentaciones profesionales, diálogo de liderazgo, discurso asertivo0.7 - 1.0
ExcitedContenido enérgico, anuncios, diálogo entusiasta0.8 - 1.0
BoredContenido monótono, diálogo desinteresado, discurso cansado0.3 - 0.7
PlayfulConversación casual, humor, interacciones ligeras0.6 - 0.9
ConfusedDiálogo con muchas preguntas, incertidumbre, desconcierto0.4 - 0.8

Configuración del Animation Blueprint

Configuración de Sincronización Labial

El nodo Blend Runtime MetaHuman Lip Sync tiene opciones de configuración en su panel de propiedades:

PropiedadPredeterminadoDescripción
Interpolation Speed25Controla qué tan rápido transicionan los movimientos labiales entre visemas. Valores más altos resultan en transiciones más rápidas y abruptas.
Reset Time0.2La 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:

  1. Agrega el nodo Blend Runtime MetaHuman Laughter
  2. Conecta tu variable RuntimeVisemeGenerator al pin Viseme Generator
  3. Si ya estás usando sincronización labial:
    • Conecta la salida del nodo Blend Runtime MetaHuman Lip Sync al Source Pose del nodo Blend Runtime MetaHuman Laughter
    • Conecta la salida del nodo Blend Runtime MetaHuman Laughter al pin Result del Output Pose
  4. Si usas solo risa sin sincronización labial:
    • Conecta tu pose de origen directamente al Source Pose del nodo Blend Runtime MetaHuman Laughter
    • Conecta la salida al pin Result

Blend Runtime MetaHuman Laughter

Cuando se detecta risa en el audio, tu personaje se animará dinámicamente en consecuencia:

Risa

Configuración de Risa

El nodo Blend Runtime MetaHuman Laughter tiene sus propias opciones de configuración:

PropiedadPredeterminadoDescripción
Interpolation Speed25Controla qué tan rápido transicionan los movimientos labiales entre animaciones de risa. Valores más altos resultan en transiciones más rápidas y abruptas.
Reset Time0.2La 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.
Max Laughter Weight0.7Escala 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.

Combinación con Animaciones Existentes

Para aplicar sincronización labial y risa junto con animaciones corporales existentes y animaciones faciales personalizadas sin sobrescribirlas:

  1. Agrega un nodo Layered blend per bone entre tus animaciones corporales y la salida final. Asegúrate de que Use Attached Parent sea verdadero.
  2. Configura la configuración de capas:
    • Agrega 1 item al array Layer Setup
    • Agrega 3 items a los Branch Filters para la capa, con los siguientes Bone Names:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. 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.
  4. Realiza las conexiones:
    • Animaciones existentes (como BodyPose) → entrada Base 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 Result final

Layered Blend Per Bone

Selección del Conjunto de Morph Targets

El Modelo Estándar utiliza pose assets que inherentemente admiten cualquier convención de nomenclatura de morph targets a través de la configuración de pose asset personalizada. No se necesita configuración adicional.

Ajuste Fino del Comportamiento de Sincronización Labial

Control de Protrusión de Lengua

En el modelo de sincronización labial estándar, puedes notar un movimiento excesivo de la lengua hacia adelante durante ciertos fonemas. Para controlar la protrusión de la lengua:

  1. Después de tu nodo de mezcla de sincronización labial, agrega un nodo Modify Curve
  2. Haz clic derecho en el nodo Modify Curve y selecciona Add Curve Pin
  3. Agrega un pin de curva con el nombre CTRL_expressions_tongueOut
  4. Establece la propiedad Apply Mode del nodo en Scale
  5. 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 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 apertura de mandíbula:

  1. Después de tu nodo de mezcla de sincronización labial, agrega un nodo Modify Curve
  2. Haz clic derecho en el nodo Modify Curve y selecciona Add Curve Pin
  3. Agrega un pin de curva con el nombre CTRL_expressions_jawOpen
  4. Establece la propiedad Apply Mode del nodo en Scale
  5. Ajusta el parámetro Value para controlar el rango de apertura de mandíbula (ej., 0.9 para reducir el movimiento de mandíbula en un 10%)

Ajuste Fino Específico por Estado de Ánimo

Para modelos habilitados para estados de ánimo, puedes ajustar finamente expresiones emocionales específicas:

Control de Cejas:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - Elevación de ceja interna
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - Elevación de ceja externa
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - Descenso de ceja

Control de Expresión Ocular:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - Entrecerrar los ojos
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - Elevación de 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ónModelo EstándarModelo RealistaModelo Realista Habilitado para Estados de Ánimo
Compatibilidad de PersonajesMetaHumans y todos los tipos de personajes personalizadosSolo MetaHumansSolo MetaHumans
Calidad VisualBuena sincronización labial con rendimiento eficienteRealismo mejorado con movimientos de boca más naturalesRealismo mejorado con expresiones emocionales
RendimientoOptimizado para todas las plataformas incluyendo móvil/VRRequisitos de recursos más altosRequisitos de recursos más altos
Características14 visemas, detección de risa81 controles faciales, 3 niveles de optimización81 controles faciales, 12 estados de ánimo, salida configurable
Soporte de PlataformaWindows, Android, QuestWindows, Mac, iOS, Linux, Android, QuestWindows, Mac, iOS, Linux, Android, Quest
Casos de UsoAplicaciones generales, juegos, VR/AR, móvilExperiencias cinematográficas, interacciones de primer planoNarrativa emocional, interacción avanzada de personajes

Compatibilidad de Versión del Motor

Problema de Compatibilidad con UE 5.2

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 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 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 Habilitado para 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

Compatibilidad con TTS

Tipo de ModeloSoporte TTS Local (vía Runtime Text To Speech)Soporte TTS ExternoNotas
Modelo Estándar✅ Soporte completo✅ Soporte completoCompatible con todas las opciones de TTS
Modelo Realista❌ Soporte limitado✅ Soporte completoConflictos de tiempo de ejecución ONNX con TTS local
Modelo Realista Habilitado para Estados de Ánimo✅ Soporte completo✅ Soporte completoCompatible con todas las opciones de TTS

Solució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 ONNX que puede hacer que la sincronización labial deje de funcionar al reutilizar generadores después de períodos de silencio.

Compatibilidad con TTS Local: El TTS local proporcionado por el plugin Runtime Text To Speech no es compatible actualmente con el modelo Realista regular debido a conflictos con el tiempo de ejecución ONNX. Sin embargo, es totalmente compatible tanto con el modelo Estándar como con el modelo Realista Habilitado para Estados de Ánimo. Usa servicios TTS externos si específicamente necesitas el modelo Realista regular con funcionalidad TTS.

Capacidad de Respuesta Degradada de la Sincronización Labial: Si experimentas que la sincronización labial se vuelve menos sensible con el tiempo al usar Streaming Sound Wave o Capturable Sound Wave, esto puede ser causado por 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 memoria acumulada, como cada 30 segundos aproximadamente.

Optimización de Rendimiento:

  • Ajusta el Processing Chunk Size 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 habilitados para estados de ánimo cuando no se necesite animación facial completa