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 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 CPU modernas | La más alta calidad | Mayor estabilidad 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): 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 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
Guía de Selección de Estados de Ánimo
Elige estados de ánimo apropiados según tu contenido:
Estado de Ánimo | Mejor Para | Rango de Intensidad Típico |
---|---|---|
Neutral | Conversación general, narración, estado predeterminado | 0.5 - 1.0 |
Feliz | Contenido positivo, diálogo alegre, celebraciones | 0.6 - 1.0 |
Triste | Contenido melancólico, escenas emocionales, momentos sombríos | 0.5 - 0.9 |
Disgusto | Reacciones negativas, contenido desagradable, rechazo | 0.4 - 0.8 |
Enfado | Diálogo agresivo, escenas de confrontación, frustración | 0.6 - 1.0 |
Sorpresa | Eventos inesperados, revelaciones, reacciones de shock | 0.7 - 1.0 |
Miedo | Situaciones amenazantes, ansiedad, diálogo nervioso | 0.5 - 0.9 |
Seguro | Presentaciones profesionales, diálogo de liderazgo, discurso asertivo | 0.7 - 1.0 |
Emocionado | Contenido energético, anuncios, diálogo entusiasta | 0.8 - 1.0 |
Aburrido | Contenido monótono, diálogo desinteresado, habla cansada | 0.3 - 0.7 |
Juguetón | Conversación casual, humor, interacciones ligeras | 0.6 - 0.9 |
Confuso | Diálogo con muchas preguntas, incertidumbre, desconcierto | 0.4 - 0.8 |
Configuración del Blueprint de Animación
Configuración de Sincronización Labial
- Modelo Estándar
- Modelos Realistas
El nodo Blend Runtime MetaHuman Lip Sync
tiene opciones de configuración en su panel de propiedades:
Propiedad | Valor por Defecto | Descripción |
---|---|---|
Velocidad de Interpolación | 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. |
Tiempo de Reinicio | 0.2 | La 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. |
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 los movimientos labiales transicionan entre posiciones. 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 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. |
Nota: El mismo nodo de Animation Blueprint se utiliza tanto para los modelos realistas regulares como para los habilitados para estados de ánimo.
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
RuntimeVisemeGenerator
al pinViseme Generator
- Si ya estás usando Lip Sync:
- Conecta la salida del nodo
Blend Runtime MetaHuman Lip Sync
alSource Pose
del nodoBlend Runtime MetaHuman Laughter
- Conecta la salida del nodo
Blend Runtime MetaHuman Laughter
al pinResult
delOutput Pose
- Conecta la salida del nodo
- Si usas solo risa sin Lip Sync:
- Conecta tu pose de origen directamente al
Source Pose
del 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 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 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 Risa | 0.7 | Escala 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:
- Agrega un nodo
Layered blend per bone
entre tus animaciones corporales y la salida final. Asegúrate de queUse Attached Parent
sea verdadero. - 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 siguientesBone Name
:FACIAL_C_FacialRoot
FACIAL_C_Neck2Root
FACIAL_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 (desde los nodos de sincronización labial y/o risa) → entrada
Blend Poses 0
- Nodo de mezcla en capas →
Result
pose final
- Animaciones existentes (como
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:
- Después de tu nodo de mezcla de sincronización labial, agrega un nodo
Modify Curve
- Haz clic derecho en el nodo
Modify Curve
y 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 (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:
- Después de tu nodo de mezcla de sincronización labial, agrega un nodo
Modify Curve
- Haz clic derecho en el nodo
Modify Curve
y 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 (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 interiorCTRL_L_brow_raiseOut.ty
/CTRL_R_brow_raiseOut.ty
- Elevación de la ceja exteriorCTRL_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 ojosCTRL_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ón | Modelo Estándar | Modelo Realista | Modelo Realista con Estados de Ánimo |
---|---|---|---|
Compatibilidad de Personajes | MetaHumans y todos los tipos de personajes personalizados | Solo MetaHumans | Solo MetaHumans |
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 | Windows, Mac, iOS, Linux |
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 con 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 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 Modelo | Soporte TTS Local (vía Runtime Text To Speech) | Soporte TTS Externo | Notas |
---|---|---|---|
Modelo Estándar | ✅ Soporte completo | ✅ Soporte completo | Compatible con todas las opciones TTS |
Modelo Realista | ❌ Soporte limitado | ✅ Soporte completo | Conflictos del runtime ONNX con TTS local |
Modelo Realista con Estados de Ánimo | ✅ Soporte completo | ✅ Soporte completo | Compatible 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