Saltar al contenido principal

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 solicitar soporte profesional en solutions@georgy.dev.

Nota importante sobre los modelos de sincronización labial

Compatibilidad con Personajes Personalizados

Los personajes personalizados solo son compatibles con el modelo Estándar (Más Rápido).

El modelo Realista (Mayor Calidad) está diseñado para personajes MetaHuman y ARKit y no puede usarse con otros 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 a ellas.

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 que definan visemas (más visemas = mejor calidad de sincronización labial)

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 a menudo son suficientes; por ejemplo, mapear el visema SH de tu personaje al visema CH del plugin funcionaría de manera efectiva, ya que son sonidos postalveolares estrechamente relacionados.

Viseme mapping reference

Aquí están los mapeos entre sistemas de visemas comunes y los visemas requeridos por el plugin:

ARKit proporciona un conjunto completo de blendshapes para animación facial, incluyendo varias formas de boca. Así es cómo mapearlos a los visemas de RuntimeMetaHumanLipSync:

RuntimeMetaHumanLipSync VisemeARKit EquivalentNotas
SilmouthCloseLa posición neutral/de reposo
PPmouthPressLeft + mouthPressRightPara sonidos bilabiales, usa ambas formas de presión juntas
FFlowerLipBiteLeft + lowerLipBiteRight (o mouthRollLower)El labio inferior contacta con los dientes superiores, como en los sonidos "f" y "v"
THtongueOutARKit tiene control directo de la lengua
DDjawOpen (suave) + tongueUp (si tienes un rig de lengua)La lengua toca la cresta alveolar; ligera caída de la mandíbula
KKmouthLeft o mouthRight (suave)Un ligero tirón de la comisura de la boca aproxima los sonidos velares
CHjawOpen (suave) + mouthFunnel (suave)Combina para sonidos postalveolares
SSmouthFrownUsa un ligero ceño fruncido para sibilantes
NNjawOpen (muy suave) + mouthCloseBoca casi cerrada con una ligera apertura de mandíbula
RRmouthPucker (suave)Redondeo sutil para sonidos de r
AAjawOpen + mouthStretchLeft + mouthStretchRight (o jawOpen + mouthOpen)Boca muy abierta para el sonido "ah"
EjawOpen (suave) + mouthSmilePosición medio abierta con una ligera sonrisa
IHmouthSmile (suave)Ligero ensanchamiento de los labios
OHmouthFunnelForma redondeada y abierta
OUmouthPuckerLabios fuertemente redondeados

Creating a custom Pose Asset

Sigue estos pasos para crear un activo de pose personalizado para tu personaje que se utilizará con el nodo Blend Runtime MetaHuman Lip Sync:

1. Locate your character's Skeletal Mesh

Encuentra la malla esquelética que contiene los morph targets (blend shapes) que deseas usar para la animación de sincronización labial. Esto podría ser una malla de cuerpo completo o solo una malla facial, dependiendo del diseño de tu personaje.

2. Verify Morph Targets and Curves

Antes de continuar, verifica que tu malla esquelética tenga morph targets apropiados y curvas correspondientes para la animación de sincronización labial.

Verificar Morph Targets: Verifica que tu malla esquelética contenga morph targets (blend shapes) que puedan usarse como visemas para la animación de sincronización labial. La mayoría de los personajes con soporte de animación facial deberían tener algunos morph targets de fonemas/visemas.

Ejemplo de morph targets en un personaje

Importante: Verificar la pestaña Curves Este paso es especialmente crucial para personajes exportados desde Blender u otro software externo:

  1. Abre la pestaña Curves en el editor de Skeletal Mesh
  2. Comprueba si puedes ver curvas correspondientes a tus morph targets
  3. Si la pestaña Curves está vacía pero existen morph targets, agrega 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 con éxito pero las curvas de animación no se crean automáticamente. Sin curvas coincidentes, la animación no se completará correctamente después de hornearse en el Control Rig.

Solución Alternativa: Para evitar este problema durante la exportación desde Blender, intenta habilitar Custom Properties y Animation en la configuración de exportación de FBX, lo que puede ayudar a incluir curvas de animación junto con los morph targets.

3. Create a Reference Pose Animation

  1. Ve a Create Asset -> Create Animation -> Reference Pose
  2. Ingresa un nombre descriptivo para la secuencia de animación y guárdala en una ubicación apropiada
  3. La Animation Sequence creada se abrirá automáticamente, mostrando una animación vacía reproduciéndose en bucle

Creando un activo de pose de referencia Nombrando el activo de pose de referencia

  1. Haz clic en el botón Pause para detener la reproducción de la animación para facilitar la edición

Pausando la reproducción de animación

4. Edit the Animation Sequence

  1. Haz clic en Edit in Sequencer -> Edit with FK Control Rig
  2. En el cuadro de diálogo Bake to Control Rig, haz clic en el botón Bake to Control Rig sin cambiar ninguna configuración

Editando con FK Control Rig Horneando a Control Rig

  1. El editor cambiará a Animation Mode con la pestaña Sequencer abierta
  2. Establece el View Range End Time en 0016 (lo que establecerá automáticamente Working Range End en 0016 también)
  3. Arrastra el borde derecho del control deslizante hasta el extremo derecho de la ventana del secuenciador

5. Prepare the Animation Curves

  1. 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)
  2. Elimina cualquier morph target que no esté relacionado con visemas o movimientos de boca que quieras usar para la sincronización labial

6. Plan your viseme mapping

Crea un plan de mapeo para hacer coincidir 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. Animate each viseme

  1. Para cada visema, anima las curvas de morph target relevantes de 0.0 a 1.0
  2. Inicia la animación de cada visema en un fotograma diferente
  3. Configura curvas adicionales según sea necesario (apertura de mandíbula/boca, posición de la lengua, etc.) para crear formas de visema de apariencia natural

8. Create a Pose Asset

  1. Ve a Create Asset -> Pose Asset -> Current Animation
  2. Introduce un nombre descriptivo para el Pose Asset y guárdalo en una ubicación apropiada
  3. El Pose Asset creado se abrirá automáticamente, mostrando poses como Pose_0, Pose_1, etc., cada una correspondiente a un visema
  4. Previsualiza los pesos de los visemas para asegurarte de que funcionan como se espera

Creating a pose asset Naming the pose asset Pose asset with visemes

9. Finalize the Pose Asset

  1. Renombra cada pose para que coincida con los nombres de los visemas de la sección Prerequisites
  2. Elimina cualquier pose no utilizada

Setting up audio handling and blending

Una vez que tu activo de pose esté listo, necesitas configurar los nodos de manejo y mezcla de audio:

  1. Localiza o crea el Animation Blueprint de tu personaje
  2. Configura el manejo y mezcla de audio siguiendo los mismos pasos documentados en la guía de configuración estándar del plugin
  3. En el nodo Blend Runtime MetaHuman Lip Sync, selecciona tu Pose Asset personalizado en lugar del activo de pose MetaHuman predeterminado

Seleccionando el activo de pose personalizado

Combining with body animations

Si deseas realizar la sincronización labial junto con otras animaciones corporales:

  1. Sigue los mismos pasos documentados en la guía estándar del plugin
  2. Asegúrate de proporcionar los nombres de huesos correctos 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 usando esta configuración:

Ejemplo 1: Sincronización labial con personaje personalizado

Ejemplo 2: Sincronización labial con sistema de visemas diferente

Ejemplo 3: Sincronización labial con sistema de visemas diferente

La calidad de la sincronización labial depende en gran medida del personaje específico y de lo bien que estén configurados sus visemas. Los ejemplos anteriores demuestran el plugin funcionando con diferentes tipos de personajes personalizados con sistemas de visemas distintos.