Saltar al contenido principal

Cómo usar 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 implementarlo en tu personaje específico, puedes solicitar soporte profesional en [email protected].

Nota importante sobre los modelos de sincronización de labios

Compatibilidad de personajes personalizados

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

El modelo Realista (de mayor calidad) está diseñado para personajes MetaHuman y ARKit y no puede utilizarse 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.

Complemento de extensión requerido: Para usar el Modelo Estándar con personajes personalizados, debe instalar el complemento de extensión de sincronización labial estándar como se describe en la sección de requisitos previos de la guía de configuración principal.

Esta extensión es necesaria para todas las implementaciones de personajes personalizados descritas en esta guía.

Requisitos previos

Antes de comenzar, asegúrate de que tu personaje cumpla con estos requisitos:

  • Tiene un esqueleto válido
  • Contiene objetivos de morph (formas de mezcla) para expresiones faciales
  • Idealmente tiene 10+ objetivos de morph que definen 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 suelen ser 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.

Referencia de mapeo de visemas

Aquí tienes las correspondencias entre los sistemas de visemas comunes y los visemas requeridos por el plugin:

ARKit proporciona un conjunto completo de formas de mezcla para la animación facial, incluyendo varias formas de boca. Aquí se explica cómo mapearlas a los visemas de RuntimeMetaHumanLipSync:

Visema de RuntimeMetaHumanLipSyncEquivalente a ARKitNotas
SilmouthCloseLa posición neutral/de reposo
PPmouthPressLeft + mouthPressRightPara los sonidos bilabiales, usa ambas formas de presión juntas.
FFlowerLipBiteLeft + lowerLipBiteRight (o mouthRollLower)El labio inferior toca los dientes superiores, como en los sonidos "f" y "v".
THtongueOutARKit tiene control directo de la lengua.
DDjawOpen (mild) + tongueUp (if you have tongue rig)La lengua toca la cresta alveolar; ligera caída de la mandíbula.
KKmouthLeft or mouthRight (mild)El tirón sutil de la comisura de la boca se aproxima a los sonidos velares.
CHjawOpen (mild) + mouthFunnel (mild)Combinar para sonidos postalveolares
SSmouthFrownUsa un leve ceño fruncido para las sibilantes.
NNjawOpen (very mild) + mouthCloseBoca casi cerrada con una ligera apertura de mandíbula
RRmouthPucker (mild)Redondeo sutil para los sonidos de la letra R.
AAjawOpen + mouthStretchLeft + mouthStretchRight (o jawOpen + mouthOpen)Boca bien abierta para el sonido "ah"
EjawOpen (mild) + mouthSmilePosición semiabierta con leve sonrisa
IHmouthSmile (mild)Ligera separación de los labios
OHmouthFunnelForma abierta redondeada
OUmouthPuckerLabios firmemente redondeados

Creando un activo de pose personalizado

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

1. Localiza el Skeletal Mesh de tu personaje

Encuentra la malla esquelética que contiene los objetivos de morph (formas de mezcla) que deseas usar para la animación de sincronización de labios. Esta podría ser una malla de cuerpo completo o solo una malla facial, dependiendo del diseño de tu personaje.

2. Verificar los Morph Targets y las Curvas

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

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 de labios. La mayoría de los personajes con soporte de animación facial deberían tener algunos morph targets de fonemas/visemas.

Example of morph targets in a character

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

  1. Abre la pestaña Curvas en el editor de Malla Esquelética
  2. Verifica si puedes ver curvas que correspondan a tus objetivos de morph
  3. Si la pestaña Curvas está vacía pero existen objetivos de morph, agrega manualmente nuevas curvas usando exactamente los mismos nombres que tus objetivos de morph

Nota: Este problema ocurre comúnmente con exportaciones de Blender donde los objetivos de morph se importan correctamente, pero las curvas de animación no se crean automáticamente. Sin curvas coincidentes, la animación no se generará correctamente después de hornear en el Control Rig.

Solución alternativa: Para evitar este problema durante la exportación desde Blender, intenta habilitar Propiedades personalizadas y Animación en la configuración de exportación FBX, lo que puede ayudar a incluir las curvas de animación junto con los objetivos de morph.

3. Crear una Animación de Pose de Referencia

  1. Ve a Crear Activo -> Crear Animación -> Pose de Referencia
  2. Introduce un nombre descriptivo para la secuencia de animación y guárdala en una ubicación adecuada
  3. La Secuencia de Animación creada se abrirá automáticamente, mostrando una animación vacía reproduciéndose en bucle

Creating a reference pose asset Naming the reference pose asset

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

Pausing animation playback

4. Editar la secuencia de animación

  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

Editing with FK Control Rig Baking to Control Rig

  1. El editor cambiará al Modo de Animación con la pestaña Sequencer abierta
  2. Establece el Tiempo de Fin del Rango de Vista en 0016 (lo que establecerá automáticamente el Fin del Rango de Trabajo también en 0016)
  3. Arrastra el borde derecho del control deslizante hasta el extremo derecho de la ventana del secuenciador

5. Prepara las Curvas de Animación

  1. Vuelve al activo de Secuencia de Animación y localiza los objetivos de morph en la lista Curves (si no son visibles, cierra y vuelve a abrir el activo de Secuencia de Animación)
  2. Elimina cualquier objetivo de morph que no esté relacionado con visemas o movimientos de boca que quieras usar para la sincronización de labios.

6. Planifica tu mapeo de visemas

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 asignaciones repetidas cuando el conjunto de visemas de tu personaje no tenga coincidencias exactas para cada visema requerido.

7. Animar cada visema

  1. Para cada visema, anima las curvas de morph target relevantes de 0.0 a 1.0
  2. Inicia cada animación de 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 aspecto natural

8. Crear un Activo de Pose

  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 adecuada
  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. Finalizar el Pose Asset

  1. Cambia el nombre de cada pose para que coincida con los nombres de los visemas de la sección Requisitos previos
  2. Elimina cualquier pose no utilizada

Configuración del manejo y mezcla de audio

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

  1. Localiza o crea el Animation Blueprint de tu personaje
  2. Configura el manejo y la 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 pose asset predeterminado de MetaHuman

Selecting the custom pose asset

Combinación con animaciones corporales

Si deseas realizar sincronización de labios 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 hueso correctos para el esqueleto del cuello de tu personaje en lugar de usar los nombres de hueso de MetaHuman

Resultados

Aquí hay ejemplos de personajes personalizados que usan esta configuración:

Example 1: Lip sync with custom character

Example 2: Lip sync with different viseme system

Example 3: Lip sync with different viseme system

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