Categorías
Informática Universitario Videojuego

Personajes y animaciones

Hay muchos elementos que pueden animarse en un videojuego, y según muchas técnicas; pero los personajes son sin duda los que más “vida” aportan en la mayoría de títulos.

A veces las animaciones más sencillas son suficientes para dar vida al personaje. Por ejemplo, todo lo que está vivo debería tener un “idle” (y si es 2D con encojer y alargar el sprite de forma divertida es suficiente). Cuando el personaje habla o realiza alguna interacción debemos alterar levemente esa animación, sonorizándolo debidamente.

Para hacer pruebas con animaciones, se puede crear un enemigo que te dispare (sin necesidad de usar las herramientas de inteligencia artificial para la percepción, navegación o toma de decisiones). Se puede descargar el “Animation Starter Pack” gratuito y usar la clase Blueprint que incluye para el personaje, quitándole el código y todo aquello pensado para ser controlado por el jugador. Podemos hacer que el enemigo te siga con Add Movement Input y el vector diferencia entre posiciones. Conviene desactivar los Use Controller Rotation y en el componente CharacterMovement desactivar el cómodo “Orient Rotation to Movement” en favor de “Use Controller Desired Rotation” si quisiera gestionar la rotación desde el AI Controller (que tendría que crear). En el personaje del enemigo se puede añadir una colisión esférica para detectar al avatar del jugador a unos pocos metros de distancia, guardando la información en una variable booleana. En el Animation Blueprint (ABP), dentro del grafo de eventos, asigno el mismo valor de esa variable a otra variable similar, propia del ABP. En el grafo de animación, dentro de la máquina de estados que controla la locomoción puedo crear un estado Disparando al que puedo ir desde Idle o Run, cuando cambia la variable booleana (o cuando casi llega a cero el TimeRemaining, si tuviese estados intermedios con animaciones de transición), y que vuelve a Idle en cuanto esta la variable cambia. En el estado Disparando, muestro la animación de disparar en bucle, y lanzo una notificación en el punto exacto en el que quiera generar un proyectil o hacer daño por hitscan. Lo mismo podría hacer para animaciones de recargar arma o de ataque cuerpo a cuerpo.

Esqueletos

Muchas animaciones están pensadas para usarse con el esqueleto que Epic creó para el maniquí original de Unreal Engine 4, como las oficiales de Animation Starter Pack donde también encontramos el mencionado esqueleto, el maniquí, un ABP con la programación de las animaciones más básicas incluso un personaje (Character) para moverse en tercera persona que podemos controlar como jugadores. Cualquier personaje de terceros que esté “riggeado” para dicho esqueleto funcionará igual, como Adventure Character o Stylized Character Kit: Casual 01, aunque tenemos que cambiar la malla esqueletal, decir a esa malla esqueletal que use el esqueleto original de Epic (si no lo hace ya), y asignarle el ABP que queramos también.

En Unreal Engine 5 ha cambiado el esqueleto y ahora tanto los nuevos maniquíes (masculino y femenino) como los metahumanos no son directamente compatibles. Si queremos poder usar animaciones y ABPs de UE5 con personajes basados en el esqueleto de UE4, tenemos que ir al ABP de UE5, darle a Retarget Animation Assets y pedirle que duplique y haga retarget de este ABP. Se abre el IK Retargeter, que nos permite hacer retarget en ambos sentidos (hay que elegir la opción RTG_UE5Manny_UE4Manny). Conviene elegir el target directamente el personaje de destino, un prefijo y una carpeta para saber donde va a ir todo el material transformado. Con MetaHumans hay que hacer algo parecido, aunque algo más complicado.

Más información

Algunas herramientas útiles para gestionar el tema de las animaciones:

  • ActorCore, de Reallusion (con registro, modelos y animaciones gratis)
  • Character Animation Combiner
  • MetaSoul, empresa que trata de introducir emociones y personalidad a los personajes (también en videojuegos, tienen plugin para Unreal Engine)
  • Mixamo (con registro, modelos y animaciones gratis)

Más documentos que se recomienda consultar: