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 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 contactar para obtener soporte profesional en [email protected].

Nota importante sobre los modelos de lip sync

Compatibilidad de Personajes Personalizados

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

El modelo Realista (de mayor calidad) funciona con personajes cuyos morph targets siguen el estándar de nomenclatura MetaHuman o ARKit, configurable mediante Selección de Conjunto de Morph Targets. Si tu personaje ya utiliza (o puede exportarse/convertirse para usar) nombres de blendshapes estándar de ARKit, puedes usar el modelo Realista sin seguir el proceso de mapeo manual de esta guía.

Si tu personaje utiliza un conjunto diferente de morph targets (por ejemplo, Daz Genesis, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, o un rig personalizado simplificado), el modelo estándar (más rápido) es la opción compatible, siguiendo los pasos a continuación.

Plugin de extensión requerido: Para usar el Modelo Estándar con personajes personalizados, debes instalar el plugin 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 obligatoria 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 (blend shapes) para expresiones faciales
  • Idealmente tiene 10+ objetivos de morph que definen visemas (más visemas = mejor 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í 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í te mostramos cómo mapearlas a los visemas de RuntimeMetaHumanLipSync:

Visema de RuntimeMetaHumanLipSyncEquivalente a ARKitNotas
SilmouthCloseLa posición neutral/en 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)Sutil tirón de la comisura de la boca que 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 'r'.
AAjawOpen + mouthStretchLeft + mouthStretchRight (o jawOpen + mouthOpen)Boca bien abierta para el sonido "ah"
EjawOpen (mild) + mouthSmilePosición semiabierta con una leve sonrisa
IHmouthSmile (mild)Ligera separación de los labios
OHmouthFunnelForma abierta redondeada
OUmouthPuckerLabios fuertemente redondeados

Creando un Pose Asset 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 (blend shapes) 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 Morph Targets y 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 labial. 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 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. Verifica si puedes ver curvas que correspondan 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 correctamente, pero las curvas de animación no se crean automáticamente. Sin curvas coincidentes, la animación no se poblará 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 Create Asset -> Create Animation -> Reference Pose
  2. Ingresa 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 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 Animation Mode con la pestaña Sequencer abierta
  2. Establece el View Range End Time a 0016 (lo que automáticamente establecerá Working Range End a 0016 también)
  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 Pose Asset

  1. Ve a Create Asset -> Pose Asset -> Current Animation
  2. Ingresa 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 funcionen 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

Combinando 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 qué tan bien estén configurados sus visemas. Los ejemplos anteriores demuestran el complemento funcionando con diferentes tipos de personajes personalizados que poseen sistemas de visemas distintos.