Cómo utilizar el plugin
Esta guía te lleva a través del proceso de configuración de Runtime MetaHuman Lip Sync para tus personajes MetaHuman.
Requisitos previos
Antes de comenzar, asegúrate de:
- El plugin MetaHuman está habilitado en tu proyecto
- Tienes al menos un personaje MetaHuman descargado y disponible en tu proyecto
- El plugin Runtime MetaHuman Lip Sync está instalado
Plugins Adicionales:
- Si planeas usar captura de audio (por ejemplo, entrada de micrófono), instala el plugin Runtime Audio Importer.
- Si planeas usar funcionalidad de texto a voz, instala el plugin Runtime Text To Speech.
Proceso de Configuración
Paso 1: Localizar y modificar el Blueprint de animación facial
Necesitas modificar un Animation Blueprint que se usará para las animaciones faciales de tu personaje MetaHuman. El Blueprint de animación facial de MetaHuman por defecto se encuentra en:
Content/MetaHumans/Common/Face/Face_AnimBP
Tienes varias opciones para implementar la funcionalidad de sincronización labial:
- Editar recurso predeterminado (La opción más simple)
- Crear duplicado
- Usar Animation Blueprint personalizado
Abre el Face_AnimBP
predeterminado y haz tus modificaciones. Cualquier cambio afectará a todos los personajes de MetaHuman que usen este Animation Blueprint.
Nota: Este enfoque es conveniente pero impactará a todos los personajes que usen el Animation Blueprint predeterminado.
- Duplica
Face_AnimBP
y dale un nombre descriptivo - Localiza la clase Blueprint de tu personaje (por ejemplo, para el personaje "Bryan", estaría en
Content/MetaHumans/Bryan/BP_Bryan
) - Abre el Blueprint del personaje y encuentra el componente Face
- Cambia la propiedad Anim Class a tu Animation Blueprint recién duplicado
Nota: Este enfoque te permite personalizar la sincronización labial para personajes específicos sin afectar a otros.
Puedes implementar la mezcla de sincronización labial en cualquier Animation Blueprint que tenga acceso a los huesos faciales requeridos:
- Crea o utiliza un Animation Blueprint personalizado existente
- Asegúrate de que tu Animation Blueprint funcione con un esqueleto que contenga los mismos huesos faciales que el
Face_Archetype_Skeleton
de MetaHuman predeterminado (que es el esqueleto estándar usado para cualquier personaje de MetaHuman)
Nota: Este enfoque te da la máxima flexibilidad para la integración con sistemas de animación personalizados.
Importante: La mezcla de sincronización labial de Runtime MetaHuman puede implementarse en cualquier recurso de Animation Blueprint que tenga acceso a una pose que contenga los huesos faciales presentes en el Face_Archetype_Skeleton
predeterminado de MetaHuman. No estás limitado a las opciones anteriores: estas son solo enfoques comunes de implementación.
Paso 2: Configuración del gráfico de eventos
Abre tu Animation Blueprint facial y cambia al Event Graph
. Necesitarás crear un Generador de Visemas en Tiempo de Ejecución que procesará datos de audio y generará visemas.
- Añade el nodo
Event Blueprint Begin Play
si no existe ya - Añade el nodo
Create Runtime Viseme Generator
y conéctalo al evento Begin Play - Guarda la salida como una variable (por ejemplo, "VisemeGenerator") para su uso en otras partes del gráfico
Paso 3: Configurar el procesamiento de entrada de audio
Necesitas establecer un método para procesar la entrada de audio. Hay varias formas de hacer esto dependiendo de tu fuente de audio.
- Micrófono (Tiempo real)
- Micrófono (Reproducción)
- Texto a voz
- Fuente de audio personalizada
Este enfoque realiza la sincronización labial en tiempo real mientras hablas por el micrófono:
- Crea un Capturable Sound Wave usando Runtime Audio Importer
- Antes de comenzar a capturar audio, enlaza al delegado
OnPopulateAudioData
- En la función vinculada, llama a
ProcessAudioData
de tu Generador de Visemas en Tiempo de Ejecución - Comienza a capturar audio desde el micrófono
Este enfoque captura audio de un micrófono y luego lo reproduce con sincronización labial:
- Crea un Capturable Sound Wave usando Runtime Audio Importer
- Comienza la captura de audio desde el micrófono
- Antes de reproducir el capturable sound wave, enlaza al delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
de tu Generador de Visemas en Tiempo de Ejecución
Este enfoque sintetiza discurso a partir de texto y realiza la sincronización labial:
- Utiliza Runtime Text To Speech para generar discurso a partir de texto
- Usa Runtime Audio Importer para importar el audio sintetizado
- Antes de reproducir el sound wave importado, enlaza al delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
de tu Generador de Visemas en Tiempo de Ejecución
Para una fuente de audio personalizada, necesitas:
- Datos de audio en formato PCM de punto flotante (una matriz de muestras de punto flotante)
- La tasa de muestreo y el número de canales
- Llama a
ProcessAudioData
desde tu Generador de Visemas en Tiempo de Ejecución con estos parámetros
Paso 4: Configuración del grafo de animación
Después de configurar el gráfico de eventos, cambia al Anim Graph
para conectar el generador de visemas a la animación del personaje:
- Localiza la pose que contiene la cara de MetaHuman (generalmente desde
Use cached pose 'Body Pose'
) - Añade el nodo
Blend Runtime MetaHuman Lip Sync
- Conecta la pose al
Source Pose
del nodoBlend Runtime MetaHuman Lip Sync
- Conecta tu variable
RuntimeVisemeGenerator
al pinViseme Generator
- Conecta la salida del nodo
Blend Runtime MetaHuman Lip Sync
al pinResult
delOutput Pose
Nota: El plugin de sincronización labial está diseñado para funcionar de manera no destructiva con tu configuración de animación existente. Solo afecta a los huesos faciales específicos necesarios para el movimiento labial, dejando intactas otras animaciones faciales. Esto significa que puedes integrarlo de forma segura en cualquier punto de tu cadena de animación: ya sea antes de otras animaciones faciales (permitiendo que esas animaciones sobrescriban la sincronización labial) o después de ellas (permitiendo que la sincronización labial se mezcle sobre tus animaciones existentes). Esta flexibilidad te permite combinar la sincronización labial con parpadeo de ojos, movimientos de cejas, expresiones emocionales y otras animaciones faciales sin conflictos.
Configuración
El nodo Blend Runtime MetaHuman Lip Sync
tiene opciones de configuración en su panel de propiedades:
Propiedad | Predeterminado | Descripción |
---|---|---|
Interpolation Speed | 25 | Controla la rapidez con la que los movimientos labiales transicionan entre visemas. Valores más altos resultan en transiciones más rápidas y abruptas. |
Reset Time | 0.2 | La duración en segundos tras la cual se reinicia la sincronización labial. Esto es útil para evitar que la sincronización labial continúe después de que el audio haya parado. |