Sincronización labial con EMotion FX - Guía del usuario de Lumberyard

Sincronización labial con EMotion FX

A partir de la versión 1.12, Lumberyard utiliza Animation Editor para implementar la sincronización labial.

En el ejemplo de la siguiente imagen, se ha creado una entidad Talker (Hablante) que utiliza la característica de conversión de texto a voz de Lumberyard. La entidad está configurada con los componentes AnimGraph, Actor y Character Physics (Física de personaje) de Animation Editor. En el ejemplo, la física del hablante se especifica como Is Active = false para que la cabeza que habla pueda permanecer inmóvil en el espacio.


            Entidad Talker (Hablante) con componentes de Animation Editor

Lumberyard utiliza un gráfico de animación sencillo que combina movimientos simples y animaciones inactivas con la salida de una máquina de estado. Los gráficos de animación pasan un estado a otro y de una postura de animación a otra para ajustarse al visema actual que se lee en el archivo de marcas de voz.


            Gráfico de animación

Las transiciones en la máquina de estado se controlan mediante un parámetro de control visemeIndex que envía al gráfico el SpeechComponent a través del EMotionFX::Integration::AnimGraphComponentRequestBus. En la siguiente imagen, se muestra una máquina de estado que contiene el estado 1 para cada viseme. El ejemplo resaltado muestra que el viseme SS se reproduce cuando visemeIndex == 3.


            Ejemplo de viseme

SpeechComponent está configurado para ajustarse a los valores de índice de la maquina de estado.


            Visemes del componente de voz