Cómo usar el plugin con personajes personalizados
Esta guía te lleva a través del proceso de configurar Runtime MetaHuman Lip Sync para personajes que no son MetaHuman. Este proceso requiere familiaridad con conceptos de animación y rigging. Si necesitas ayuda para implementar esto para tu personaje específico, puedes contactar para soporte profesional en solutions@georgy.dev.
Nota importante sobre los modelos de Lip Sync
Los personajes personalizados solo son compatibles con el modelo Estándar (Más Rápido).
El modelo Realista (Mayor Calidad) está diseñado exclusivamente para personajes MetaHuman y no puede usarse con personajes personalizados. A lo largo de esta guía, debes seguir las instrucciones del modelo Estándar de la guía de configuración principal cuando se haga referencia.
Plugin de Extensión Requerido: Para usar el Modelo Estándar con personajes personalizados, debes instalar el plugin de extensión Standard Lip Sync Extension como se describe en la sección de Prerrequisitos de la guía de configuración principal.
Esta extensión es requerida para todas las implementaciones de personajes personalizados descritas en esta guía.
Prerrequisitos
Antes de comenzar, asegúrate de que tu personaje cumpla con estos requisitos:
- Tiene un esqueleto válido
- Contiene morph targets (blend shapes) para expresiones faciales
- Idealmente tiene 10+ morph targets definiendo visemas (más visemas = mejor calidad de lip sync)
El plugin requiere mapear los morph targets de tu personaje a los siguientes visemas estándar:
Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)
Nota: Si tu personaje tiene un conjunto diferente de visemas (lo cual es probable), no necesitas coincidencias exactas para cada visema. A menudo son suficientes las aproximaciones; por ejemplo, mapear el visema SH
de tu personaje al visema CH
del plugin funcionaría efectivamente ya que son sonidos postalveolares estrechamente relacionados.
Referencia de mapeo de visemas
Aquí hay mapeos entre sistemas comunes de visemas y los visemas requeridos por el plugin:
- Apple ARKit
- Sistemas Basados en FACS
- Sistema Preston Blair
- Sistema de Fonemas de 3ds Max
- Personajes Personalizados (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit proporciona un conjunto completo de blendshapes para animación facial, incluyendo varias formas de boca. Así es cómo mapearlas a los visemas de RuntimeMetaHumanLipSync:
Visema de RuntimeMetaHumanLipSync | Equivalente en ARKit | Notas |
---|---|---|
Sil | mouthClose | La posición neutral/de reposo |
PP | mouthPressLeft + mouthPressRight | Para sonidos bilabiales, usa ambas formas de presión juntas |
FF | lowerLipBiteLeft + lowerLipBiteRight (o mouthRollLower) | El labio inferior contacta con los dientes superiores, como en los sonidos "f" y "v" |
TH | tongueOut | ARKit tiene control directo de la lengua |
DD | jawOpen (suave) + tongueUp (si tienes rig de lengua) | La lengua toca la cresta alveolar; leve caída de la mandíbula |
KK | mouthLeft o mouthRight (suave) | Un leve tirón de la comisura de la boca aproxima sonidos velares |
CH | jawOpen (suave) + mouthFunnel (suave) | Combina para sonidos postalveolares |
SS | mouthFrown | Usa un leve ceño fruncido para sibilantes |
NN | jawOpen (muy suave) + mouthClose | Boca casi cerrada con leve apertura de mandíbula |
RR | mouthPucker (suave) | Redondeo sutil para sonidos de r |
AA | jawOpen + mouthStretchLeft + mouthStretchRight (o jawOpen + mouthOpen) | Boca muy abierta para el sonido "ah" |
E | jawOpen (suave) + mouthSmile | Posición semiabierta con leve sonrisa |
IH | mouthSmile (suave) | Leve separación de labios |
OH | mouthFunnel | Forma redondeada abierta |
OU | mouthPucker | Labios fuertemente redondeados |
FACS (Sistema de Codificación de Acción Facial) utiliza Unidades de Acción (AUs) para describir movimientos faciales. Muchos sistemas de animación profesional utilizan enfoques basados en FACS:
Visema de RuntimeMetaHumanLipSync | Unidades de Acción de FACS | Notas |
---|---|---|
Sil | Neutral | Sin AUs activas |
PP | AU23 + AU24 | Presionador de labios + tensador de labios |
FF | AU22 + AU28 | Embudador de labios + succión de labios |
TH | AU25 (suave) + AU27 | Labios separados + estiramiento de boca |
DD | AU25 + AU16 | Labios separados + depresor del labio inferior |
KK | AU26 + AU14 | Caída de mandíbula + formador de hoyuelos |
CH | AU18 + AU25 | Fruncidor de labios + labios separados |
SS | AU20 | Estirador de labios |
NN | AU25 (muy suave) | Leve separación de labios |
RR | AU18 (suave) | Leve fruncido de labios |
AA | AU27 + AU26 | Estiramiento de boca + caída de mandíbula |
E | AU25 + AU12 | Labios separados + tirador de comisura labial |
IH | AU12 + AU25 (suave) | Tirador de comisura labial + leve separación de labios |
OH | AU27 (suave) + AU18 | Leve estiramiento de boca + fruncido de labios |
OU | AU18 + AU26 (suave) | Fruncido de labios + leve caída de mandíbula |
El sistema Preston Blair es un estándar clásico de animación que utiliza nombres descriptivos para las formas de la boca:
RuntimeMetaHumanLipSync Viseme | Preston Blair | Notas |
---|---|---|
Sil | Rest | Posición neutral de boca cerrada |
PP | MBP | La forma clásica de boca "MBP" |
FF | FV | La posición "FV" con dientes en el labio inferior |
TH | TH | Lengua tocando los dientes frontales |
DD | D/T/N | Posición similar para estas consonantes |
KK | CKG | Posición de consonante dura |
CH | CH/J/SH | Leve fruncido para estos sonidos |
SS | S/Z | Posición de dientes ligeramente abierta |
NN | N/NG/L | Similar a D/T pero con diferente posición de la lengua |
RR | R | Labios redondeados para el sonido R |
AA | AI | Boca muy abierta |
E | EH | Boca medianamente abierta |
IH | EE | Labios extendidos |
OH | OH | Abertura media redondeada |
OU | OO | Labios fuertemente redondeados |
3ds Max utiliza un sistema basado en fonemas para su character studio:
RuntimeMetaHumanLipSync Viseme | Fonema de 3ds Max | Notas |
---|---|---|
Sil | rest | Posición de boca por defecto |
PP | p_b_m | Equivalente directo |
FF | f_v | Equivalente directo |
TH | th | Equivalente directo |
DD | t_d | Equivalente directo |
KK | k_g | Equivalente directo |
CH | sh_zh_ch | Forma combinada |
SS | s_z | Equivalente directo |
NN | n_l | Combinado para estos sonidos |
RR | r | Equivalente directo |
AA | ah | Sonido de vocal abierta |
E | eh | Vocal media |
IH | ee | Vocal cerrada frontal |
OH | oh | Vocal posterior redondeada |
OU | oo | Vocal cerrada posterior |
Los personajes personalizados con visemas o blend shapes/morph targets de boca (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc.) normalmente pueden mapearse al sistema de visemas del plugin con aproximaciones razonables.
Creación de un Pose Asset personalizado
Sigue estos pasos para crear un Pose Asset personalizado para tu personaje que se utilizará con el nodo Blend Runtime MetaHuman Lip Sync
:
1. Localiza el Skeletal Mesh de tu personaje
Encuentra el skeletal mesh que contiene los morph targets (blend shapes) que quieres usar para la animación de lip sync. Esto podría ser un mesh de cuerpo completo o solo un mesh facial, dependiendo del diseño de tu personaje.
2. Verifica los Morph Targets y Curves
Antes de proceder, verifica que tu skeletal mesh tiene los morph targets y curves correspondientes apropiados para la animación de lip sync.
Verifica los Morph Targets:
Confirma que tu skeletal mesh contiene morph targets (blend shapes) que pueden usarse como visemas para la animación de lip sync. La mayoría de personajes con soporte de animación facial deberían tener algunos morph targets de fonemas/visemas.
Importante: Verificar la pestaña Curves Este paso es especialmente crucial para personajes exportados desde Blender u otro software externo:
- Abre la pestaña Curves en el editor de Skeletal Mesh
- Comprueba si puedes ver curvas correspondientes a tus morph targets
- Si la pestaña Curves está vacía pero existen morph targets, añade manualmente nuevas curvas usando exactamente los mismos nombres que tus morph targets
Nota: Este problema ocurre comúnmente con exportaciones de Blender donde los morph targets se importan exitosamente pero las curvas de animación no se crean automáticamente. Sin curvas coincidentes, la animación no se poblará correctamente después de hacer bake al Control Rig.
Solución alternativa: Para prevenir este problema durante la exportación desde Blender, intenta habilitar Custom Properties y Animation en tus configuraciones de exportación FBX, lo cual puede ayudar a incluir curvas de animación junto con los morph targets.
3. Crear una animación de pose de referencia
- Ve a
Create Asset -> Create Animation -> Reference Pose
- Ingresa un nombre descriptivo para la secuencia de animación y guárdala en una ubicación apropiada
- La Animation Sequence creada se abrirá automáticamente, mostrando una animación vacía reproduciéndose en bucle
- Haz clic en el botón
Pause
para detener la reproducción de la animación y facilitar la edición
4. Editar la secuencia de animación
- Haz clic en
Edit in Sequencer
->Edit with FK Control Rig
- En el diálogo
Bake to Control Rig
, haz clic en el botónBake to Control Rig
sin cambiar ninguna configuración
- El editor cambiará a
Animation Mode
con la pestañaSequencer
abierta - Establece el
View Range End Time
a 0016 (lo cual automáticamente establecerá tambiénWorking Range End
a 0016) - Arrastra el borde derecho del deslizador hasta el extremo derecho de la ventana del secuenciador
5. Preparar las Curvas de Animación
- Regresa al recurso de Secuencia de Animación y localiza los morph targets en la lista
Curves
(si no son visibles, cierra y vuelve a abrir el recurso de Secuencia de Animación) - Elimina cualquier morph target que no esté relacionado con visemas o movimientos de boca que quieras usar para el Lip Sync
6. Planifica tu mapeo de visemas
Crea un plan de mapeo para emparejar los visemas de tu personaje con el conjunto requerido por el plugin. Por ejemplo:
Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U
Ten en cuenta que es aceptable tener mapeos repetidos cuando el conjunto de visemas de tu personaje no tiene coincidencias exactas para cada visema requerido.
7. Anima cada visema
- Para cada visema, anima las curvas de morph target relevantes de 0.0 a 1.0
- Inicia cada animación de visema en un fotograma diferente
- Configura curvas adicionales según sea necesario (apertura de mandíbula/boca, posición de la lengua, etc.) para crear formas de visema de aspecto natural
8. Crear un Pose Asset
- Ve a
Create Asset
->Pose Asset
->Current Animation
- Ingresa un nombre descriptivo para el Pose Asset y guárdalo en una ubicación apropiada
- El Pose Asset creado se abrirá automáticamente, mostrando poses como
Pose_0
,Pose_1
, etc., cada una correspondiente a un visema - Previsualiza los pesos de los visemas para asegurarte de que funcionen como se espera
9. Finalizar el Pose Asset
- Renombra cada pose para que coincida con los nombres de los visemas de la sección Prerequisites
- Elimina cualquier pose no utilizada
Configuración del manejo de audio y mezcla
Una vez que tu activo de pose esté listo, necesitas configurar los nodos de manejo de audio y mezcla:
- Localiza o crea el Animation Blueprint de tu personaje
- Configura el manejo de audio y mezcla siguiendo los mismos pasos documentados en la guía de configuración estándar del plugin
- En el nodo
Blend Runtime MetaHuman Lip Sync
, selecciona tu Pose Asset personalizado en lugar del activo de pose predeterminado de MetaHuman
Combinación con animaciones corporales
Si deseas realizar lip sync junto con otras animaciones corporales:
- Sigue los mismos pasos documentados en la guía estándar del plugin
- Asegúrate de proporcionar los nombres correctos de los huesos para el esqueleto del cuello de tu personaje en lugar de usar los nombres de huesos de MetaHuman
Resultados
Aquí hay ejemplos de personajes personalizados utilizando esta configuración:
La calidad del lip sync depende en gran medida del personaje específico y de qué tan bien estén configurados sus visemas. Los ejemplos anteriores demuestran el plugin funcionando con diferentes tipos de personajes personalizados con sistemas de visemas distintos.