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 de Configuración que te permite personalizar el comportamiento del generador:
Tipo de Modelo
La configuración Tipo de Modelo 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
Hilos Intra Op: Controla el número de hilos utilizados para las operaciones de procesamiento interno del modelo.
- 0 (Predeterminado/Automático): Utiliza 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
Hilos Inter Op: 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 (típicamente 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 Tamaño del Fragmento de Procesamiento 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 Habilitado para 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 mejor precisión de 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 Hilos Intra Op e Hilos Inter Op 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 por defecto | 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 la sincronización labial se reinicia. Esto es útil para evitar que la sincronización labial 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 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 utiliza 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
- Garantizar continuidad visual en secuencias cinemáticas
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
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 sincronización de labios:
- 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 sincronización de labios:
- 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 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 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 está disponible actualmente solo con el Modelo Estándar.
Combinación con Animaciones Existentes
Para aplicar la sincronización de labios 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 de labios. - Realiza las conexiones:
- Animaciones existentes (como
BodyPose
) → entradaBase Pose
- Salida de animación facial (de los nodos de sincronización de labios y/o risa) → entrada
Blend Poses 0
- Nodo de mezcla en capas → Pose
Result
final
- Animaciones existentes (como
Ajuste Fino del Comportamiento de Sincronización de Labios
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, añade un nodo
Modify Curve
- Haz clic derecho en el nodo
Modify Curve
y selecciona Add Curve Pin - Añade 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 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 mandíbula:
- Después de tu nodo de mezcla de sincronización labial, añade un nodo
Modify Curve
- Haz clic derecho en el nodo
Modify Curve
y selecciona Add Curve Pin - Añade 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 mandíbula (por ejemplo, 0.9 para reducir el movimiento de la mandíbula en un 10%)
Ajustes Específicos del Estado de Ánimo
Para los modelos con estado de ánimo habilitado, puedes afinar 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
Elegir 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 Estado 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 de Versión 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 de labios 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 equilibrio excelente 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 de 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 de 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 de labios 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 del runtime ONNX. Sin embargo, es totalmente compatible tanto con el modelo Estándar como con el modelo Realista con Estados de Ánimo. Usa servicios TTS externos si necesitas específicamente el modelo Realista regular con funcionalidad TTS.
Capacidad de Respuesta Degradada de la Sincronización de Labios: Si experimentas que la sincronización de labios se vuelve menos receptiva 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 añade nuevo audio. Para prevenir 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 Solo Boca para modelos con estados de ánimo cuando no se necesite animación facial completa