Saltar al contenido principal

Cómo usar el plugin con personajes personalizados

Esta guía te explica el proceso de configuración de Runtime MetaHuman Lip Sync para personajes no MetaHuman. Este proceso requiere familiaridad con conceptos de animación y rigging. Si necesitas asistencia para implementarlo en tu personaje específico, puedes contactar con soporte profesional en [email protected].

Nota importante sobre los modelos de sincronización de labios.

Compatibilidad de personajes personalizados

Esta guía cubre personajes personalizados que no usan las convenciones de nomenclatura de morph targets de MetaHuman o ARKit.

Si su personaje utiliza un conjunto diferente de morph targets (por ejemplo, Daz Genesis, Reallusion CC3/CC4/CC5, Mixamo o un rig personalizado simplificado), el modelo Standard (Faster) es la opción compatible, siguiendo los pasos a continuación.

Complemento de extensión requerido: Para usar el Standard Model con personajes personalizados, debes instalar el complemento Standard Lip Sync Extension 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 morph targets (blend shapes) para expresiones faciales
  • Idealmente tiene 10 o más morph targets que definen visemas (cuantos más visemas, mejor es la calidad de sincronización de labios)

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í están las correspondencias entre los sistemas de visemas comunes y los visemas requeridos por el plugin:

ARKit ofrece un conjunto completo de blendshapes para la animación facial, incluyendo varias formas de boca. He aquí cómo asignarlos a los visemas de RuntimeMetaHumanLipSync:

RuntimeMetaHumanLipSync VisemaEquivalente a ARKitNotas
SilmouthCloseLa posición neutral/en reposo
PPmouthPressLeft + mouthPressRightPara sonidos bilabiales, usa ambas formas de presión a la vez.
FFlowerLipBiteLeft + lowerLipBiteRight (or mouthRollLower)El labio inferior contacta con 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; leve descenso de la mandíbula.
KKmouthLeft or mouthRight (mild)El sutil tirón 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 leve apertura de la mandíbula.
RRmouthPucker (mild)Redondeo sutil para los sonidos de la r
AAjawOpen + mouthStretchLeft + mouthStretchRight (o jawOpen + mouthOpen)Boca bien abierta para el sonido "ah".
EjawOpen (mild) + mouthSmilePosición semiabierta con una ligera sonrisa.
IHmouthSmile (mild)Ligero estiramiento de los labios.
OHmouthFunnelForma abierta redondeada
OUmouthPuckerLabios firmemente redondeados.

Creando un Pose Asset personalizado

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. Localiza la malla esquelética de tu personaje.

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

2. Verifique los objetivos de morphing 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.

Compruebe los morph targets: Verifique que su malla esquelética contiene morph targets (blend shapes) que puedan usarse como visemas para la animación de sincronización de labios. La mayoría de los personajes compatibles con animación facial deberían tener algunos morph targets de fonemas/visemas.

Example of morph targets in a character

Importante: Verifique la pestaña de Curvas 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 los morph targets existen, añade manualmente nuevas curvas usando exactamente los mismos nombres que tus morph targets.

Nota: Este problema suele ocurrir en exportaciones de Blender: los morph targets se importan correctamente, pero las curvas de animación no se crean automáticamente. Sin las curvas correspondientes, la animación no se generará correctamente después de aplicar el horneado al Control Rig.

Solución alternativa: Para evitar este problema al exportar desde Blender, intenta habilitar Propiedades personalizadas y Animación en tus ajustes de exportación FBX, lo cual puede ayudar a incluir las curvas de animación junto con los morph targets.

3. Crear una animación de pose de referencia

  1. Vaya a Crear Activo -> Crear Animación -> Pose de Referencia
  2. Introduzca un nombre descriptivo para la secuencia de animación y guárdela en una ubicación adecuada
  3. La secuencia de animación creada se abrirá automáticamente, mostrando una animación vacía que se reproduce en bucle.

Creating a reference pose asset Naming the reference pose asset

  1. Haz clic en el botón Pause 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 Editar en Sequencer -> Editar con FK Control Rig
  2. En el cuadro de diálogo Hornear en Control Rig, haz clic en el botón Hornear en Control Rig sin cambiar ningún ajuste.

Editing with FK Control Rig Baking to Control Rig

  1. El editor cambiará a Animation Mode con la pestaña Sequencer abierta.
  2. Establece 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. Preparar las curvas de animación

  1. Regresa al activo Animation Sequence y localiza los morph targets en la lista Curves (si no están visibles, cierra y vuelve a abrir el activo Animation Sequence).
  2. Elimina cualquier objetivo de morph que no esté relacionado con visemas o movimientos de la 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 mapeos repetidos cuando el conjunto de visemas de tu personaje no tiene coincidencias exactas para cada visema requerido.

7. Anima cada visema

  1. Para cada visema, anima las curvas de morph target correspondientes 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 visemas de aspecto natural

8. Crear un activo de pose.

  1. Vaya a Crear activo -> Activo de pose -> Animación actual
  2. Introduzca un nombre descriptivo para el activo de pose y guárdelo en una ubicación adecuada
  3. El activo de pose creado se abrirá automáticamente y mostrará poses como Pose_0, Pose_1, etc., cada una correspondiente a un visema
  4. Previsualice los pesos de los visemas para comprobar que funcionan como se espera.

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

9. Finalizar el Activo de Pose

  1. Renombra cada pose para que coincida con los nombres de los visemas de la sección Requisitos previos
  2. Elimina cualquier pose sin usar

Configuración del manejo y la mezcla de audio

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

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

Selecting the custom pose asset

Combinar con animaciones corporales

Si quieres realizar la sincronización de labios junto con otras animaciones del cuerpo:

  1. Sigue los mismos pasos descritos 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 de la sincronización de labios depende en gran medida del personaje concreto y de lo bien configurados que estén sus visemas. Los ejemplos anteriores muestran el plugin funcionando con diferentes tipos de personajes personalizados con sistemas de visemas distintos.