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 Lip Sync 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 utilizar:

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 CPU modernasLa más alta calidadMayor estabilidad con ruido de fondo y sonidos no vocalesProducciones 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): Utiliza detección automática (normalmente 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): Utiliza detección automática (normalmente 1/8 de los núcleos de CPU disponibles, máximo 2)
  • 1-8: Especifica manualmente el recuento de hilos. Normalmente se mantiene bajo para el 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 del lip sync
  • Se recomienda usar múltiplos de 160 para una alineación óptima

Configuración del Tamaño del Fragmento de Procesamiento

Configuración del Modelo con Estado 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 una mayor precisión en la sincronización labial.

  • Por defecto: 80ms
  • Rango: 20ms a 200ms (debe ser divisible por 20)
  • Valores más altos proporcionan una mejor sincronización pero aumentan la latencia

Tipo de Salida: Controla qué controles faciales se generan.

  • Cara Completa: Los 81 controles faciales (cejas, ojos, nariz, boca, mandíbula, lengua)
  • Solo Boca: Solo los controles relacionados con la boca, la mandíbula y la lengua

Configuración de Rendimiento: Utiliza la misma configuración de Intra Op Threads e Inter Op Threads que el modelo realista regular.

Configuración de Estados de Ánimo

Estados de Ánimo Disponibles:

  • Neutral, Feliz, Triste, Disgusto, Enfado, Sorpresa, Miedo
  • Seguro, Emocionado, Aburrido, Juguetón, Confuso

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 la configuración del estado de ánimo durante el tiempo de ejecución utilizando las siguientes funciones:

  • Establecer Estado de Ánimo: Cambiar el tipo de estado de ánimo actual
  • Establecer Intensidad del Estado de Ánimo: Ajustar cuán fuertemente afecta el estado de ánimo a la animación (0.0 a 1.0)
  • Establecer Lookahead Ms: Modificar el tiempo de anticipación para la sincronización
  • Establecer Tipo de Salida: Cambiar entre los controles de Cara Completa y Solo Boca

Configuración del Estado de Ánimo

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

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

Estado de ÁnimoMejor ParaRango de Intensidad Típico
NeutralConversación general, narración, estado predeterminado0.5 - 1.0
FelizContenido positivo, diálogo alegre, celebraciones0.6 - 1.0
TristeContenido melancólico, escenas emocionales, momentos sombríos0.5 - 0.9
DisgustoReacciones negativas, contenido desagradable, rechazo0.4 - 0.8
EnfadoDiálogo agresivo, escenas de confrontación, frustración0.6 - 1.0
SorpresaEventos inesperados, revelaciones, reacciones de shock0.7 - 1.0
MiedoSituaciones amenazantes, ansiedad, diálogo nervioso0.5 - 0.9
SeguroPresentaciones profesionales, diálogo de liderazgo, discurso asertivo0.7 - 1.0
EmocionadoContenido energético, anuncios, diálogo entusiasta0.8 - 1.0
AburridoContenido monótono, diálogo desinteresado, habla cansada0.3 - 0.7
JuguetónConversación casual, humor, interacciones ligeras0.6 - 0.9
ConfusoDiálogo con muchas preguntas, incertidumbre, desconcierto0.4 - 0.8

Configuración del Blueprint de Animación

Configuración de Sincronización Labial

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

PropiedadValor por DefectoDescripción
Velocidad de Interpolación25Controla la rapidez con la que los movimientos labiales transicionan entre visemas. Valores más altos resultan en transiciones más rápidas y abruptas.
Tiempo de Reinicio0.2La duración en segundos después de la cual el Lip Sync se reinicia. Esto es útil para evitar que el Lip Sync 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 Lip Sync:
    • 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 Lip Sync:
    • 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:

Laughter

Configuración de la Risa

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

PropiedadValor por DefectoDescripción
Velocidad de Interpolación25Controla la rapidez con la que los movimientos labiales transicionan entre animaciones de risa. Valores más altos resultan en transiciones más rápidas y abruptas.
Tiempo de Reinicio0.2La duración en segundos después de la cual la risa se reinicia. Esto es útil para evitar que la risa continúe después de que el audio se haya detenido.
Peso Máximo de Risa0.7Escala la intensidad máxima de la animación de risa (0.0 - 1.0).
Nota: La detección de risa actualmente solo está disponible con el Modelo Estándar.

Combinación con Animaciones Existentes

Para aplicar la sincronización labial y la 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 elemento al array Layer Setup
    • Agrega 3 elementos a los Branch Filters para la capa, con los siguientes Bone Name:
      • 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 (desde los nodos de sincronización labial y/o risa) → entrada Blend Poses 0
    • Nodo de mezcla en capas → Result pose final

Layered Blend Per Bone

Ajuste Fino del Comportamiento de la 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:

  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 (por ejemplo, 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:

  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 la mandíbula (por ejemplo, 0.9 para reducir el movimiento de la mandíbula en un 10%)

Ajuste Fino Específico del Estado de Ánimo

Para los modelos con estado de ánimo habilitado, puedes ajustar finamente expresiones emocionales específicas:

Control de Cejas:

  • CTRL_L_brow_raiseIn.ty / CTRL_R_brow_raiseIn.ty - Elevación de la ceja interior
  • CTRL_L_brow_raiseOut.ty / CTRL_R_brow_raiseOut.ty - Elevación de la ceja exterior
  • CTRL_L_brow_down.ty / CTRL_R_brow_down.ty - Bajada de cejas

Control de Expresión Ocular:

  • CTRL_L_eye_squintInner.ty / CTRL_R_eye_squintInner.ty - Entrecerrar los ojos
  • CTRL_L_eye_cheekRaise.ty / CTRL_R_eye_cheekRaise.ty - Elevación de mejillas

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 con 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, LinuxWindows, Mac, iOS, Linux
Casos de UsoAplicaciones generales, juegos, VR/AR, móvilExperiencias cinematográficas, interacciones de primer planoNarrativa emocional, interacción avanzada de personajes

Compatibilidad con Versiones 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 los usuarios de UE 5.2 que necesitan una 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 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

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 TTS
Modelo Realista❌ Soporte limitado✅ Soporte completoConflictos del runtime ONNX con TTS local
Modelo Realista con Estados de Ánimo✅ Soporte completo✅ Soporte completoCompatible con todas las opciones TTS

Resolución de Problemas

Problemas Comunes

Recreación del Generador para Modelos Realistas: Para una operación 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 runtime 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 complemento Runtime Text To Speech no es compatible actualmente con el modelo Realistic regular debido a conflictos del tiempo de ejecución ONNX. Sin embargo, es totalmente compatible tanto con el modelo Standard como con el modelo Realistic con Mood-Enabled. Utilice servicios TTS externos si necesita específicamente el modelo Realistic regular con funcionalidad TTS.

Optimización del Rendimiento:

  • Ajuste el tamaño del fragmento de procesamiento para los modelos Realistic según sus requisitos de rendimiento
  • Utilice recuentos de hilos apropiados para su hardware objetivo
  • Considere usar el tipo de salida Mouth Only para los modelos con mood-enabled cuando no se necesite animación facial completa