Usando el plugin con personajes personalizados
Esta guía te lleva a través del proceso de configuración de 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 en tu personaje específico, puedes solicitar soporte profesional en [email protected].
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. Las aproximaciones suelen ser suficientes; 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í están los 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 como mapearlos a los visemas de RuntimeMetaHumanLipSync:
Visema RuntimeMetaHumanLipSync | Equivalente ARKit | Notas |
---|---|---|
Sil | mouthClose | La posición neutral/reposo |
PP | mouthPressLeft + mouthPressRight | Para sonidos bilabiales, usa ambos press shapes juntos |
FF | lowerLipBiteLeft + lowerLipBiteRight | Estos crean el contacto labio-diente para "f/v" |
TH | tongueOut | ARKit tiene control directo de la lengua |
DD | jawOpen (leve) + tongueUp | Combina apertura leve de mandíbula con posición de lengua |
KK | mouthLeft o mouthRight (leve) | Tirón sutil de comisura aproxima sonidos velares |
CH | jawOpen (leve) + mouthFunnel (leve) | Combina para sonidos postalveolares |
SS | mouthFrown | Usa un leve ceño para sibilantes |
NN | jawOpen (muy leve) + mouthClose | Boca casi cerrada con leve apertura de mandíbula |
RR | mouthPucker (leve) | Redondeo sutil para sonidos de R |
AA | jawOpen + mouthOpen | Combinado para sonidos vocálicos amplios |
E | jawOpen (leve) + mouthSmile | Posición semi-abierta con leve sonrisa |
IH | mouthSmile (leve) | Leve separación de labios |
OH | mouthFunnel | Forma redondeada abierta |
OU | mouthPucker | Labios fuertemente redondeados |
FACS (Facial Action Coding System) usa Unidades de Acción (AUs) para describir movimientos faciales. Muchos sistemas profesionales de animación usan enfoques basados en FACS:
Visema RuntimeMetaHumanLipSync | Unidades de Acción FACS | Notas |
---|---|---|
Sil | Neutral | Sin AUs activas |
PP | AU23 + AU24 | Presionador labial + tensador labial |
FF | AU22 + AU28 | Embudador labial + succión labial |
TH | AU25 (leve) + AU27 | Labios separados + estiramiento de boca |
DD | AU25 + AU16 | Labios separados + depresor labio inferior |
KK | AU26 + AU14 | Caída mandibular + formador de hoyuelos |
CH | AU18 + AU25 | Fruncidor labial + labios separados |
SS | AU20 | Estirador labial |
NN | AU25 (muy leve) | Leve separación de labios |
RR | AU18 (leve) | Leve fruncido labial |
AA | AU27 + AU26 | Estiramiento de boca + caída mandibular |
E | AU25 + AU12 | Labios separados + tirador de comisuras |
IH | AU12 + AU25 (leve) | Tirador de comisuras + leve labios separados |
OH | AU27 (leve) + AU18 | Leve estiramiento de boca + fruncido labial |
OU | AU18 + AU26 (leve) | Fruncido labial + leve caída mandibular |
El sistema Preston Blair es un estándar clásico de animación que usa nombres descriptivos para formas de boca:
Visema RuntimeMetaHumanLipSync | Preston Blair | Notas |
---|---|---|
Sil | Rest | Posición neutral de boca cerrada |
PP | MBP | La clásica forma de boca "MBP" |
FF | FV | La posición "FV" con dientes en labio inferior |
TH | TH | Lengua tocando dientes frontales |
DD | D/T/N | Posición similar para estas consonantes |
KK | CKG | Posición de consonante dura |
CH | CH/J/SH | Leve puchero para estos sonidos |
SS | S/Z | Posición de dientes levemente abierta |
NN | N/NG/L | Similar a D/T pero diferente posición lingual |
RR | R | Labios redondeados para sonido R |
AA | AI | Boca muy abierta |
E | EH | Boca medianamente abierta |
IH | EE | Labios extendidos |
OH | OH | Redondeo con apertura media |
OU | OO | Labios fuertemente redondeados |
3ds Max usa un sistema basado en fonemas para su character studio:
Visema RuntimeMetaHumanLipSync | Fonema 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 vocálico abierto |
E | eh | Vocal media |
IH | ee | Vocal cerrada frontal |
OH | oh | Vocal posterior redondeada |
OU | oo | Vocal posterior cerrada |
Personajes personalizados con visemas o blend shapes/morph targets de boca (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc) generalmente pueden mapearse al sistema de visemas del plugin con aproximaciones razonables.
Creando un Pose Asset personalizado
Sigue estos pasos para crear un pose asset personalizado para tu personaje que se usará 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. Puede ser un mesh de cuerpo completo o solo facial, dependiendo del diseño de tu personaje.
2. Verifica los Morph Targets disponibles
Asegúrate que tu skeletal mesh tiene morph targets apropiados que puedan usarse como visemas para 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.
3. Crea una Animation Sequence 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 y facilitar la edición
4. Edita la Animation Sequence
- 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 configuraciones
- El editor cambiará a
Animation Mode
con la pestañaSequencer
abierta - Establece el
View Range End Time
a 0016 (lo cual automáticamente estableceráWorking Range End
a 0016 también) - Arrastra el borde derecho del slider al final de la ventana del secuenciador
5. Preparar las curvas de animación
- Regresa al asset de Secuencia de Animación y localiza los morph targets en la lista
Curves
(si no son visibles, cierra y vuelve a abrir el asset 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 relacionar 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
Nota: 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 visemas 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 adecuada
- 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 Pose Asset 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 que se documentan 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 Pose Asset predeterminado de MetaHuman
Combinación con animaciones corporales
Si deseas realizar lip sync junto con otras animaciones corporales:
- Sigue los mismos pasos que se documentan en la guía estándar del plugin
- Asegúrate de proporcionar los nombres correctos de los huesos del esqueleto del cuello de tu personaje en lugar de usar los nombres de huesos de MetaHuman
Resultados
Aquí hay ejemplos de personajes personalizados usando 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 funcionamiento del plugin con diferentes tipos de personajes personalizados con sistemas de visemas distintos.