jairogarcíarincón

Animando al Jugador


663

Introducción

Una vez conseguido el movimiento y la rotación del jugador, falta añadir las animaciones del mismo.

Inicialmente, vamos a añadir las siguientes animaciones:

  • Estar quieto (Idle)
  • Andar (Walk)
  • Correr (Run)
  • Saltar (Jump)


Una vez conseguidas estas cuatro, podemos modificar nuestro ejemplo inicial con ciertos objetos y añadir el resto de animaciones:

  • Pegar/Atacar (Punch)
  • Trabajar (Working)
  • Morir (Death)


Configuración

Para poder utilizar animaciones en Unity, necesitamos dos tipos de elementos:

  • Las animaciones o Animations
  • El controlador para las animaciones o Animator Controller


Además, debemos abrir la ventana de Animator para configurar el flujo de las animaciones y los parámetros necesarios. Esta ventana la puedes abrir desde Window > Animation > Animator.

Una vez creadas y funcionando las animaciones, podrás ajustarlas mas en detalle mediante la ventana Window > Animation > Animator.

Para comenzar, selecciona todas las animaciones detalladas anteriormente de nuestro modelo Animated Human:



Y arrástralas al Jugador. Si ahora abres la ventana Animator y seleccionas el Jugador, deberías ver algo similar a esto:



Y además, verás que en la misma carpeta del Modelo se te ha creado un Controller llamado Jugador. Crea una nueva carpeta llamada Animations (dentro de Assets) y arrástralo allí para tenerlo organizado.

Si seleccionas el objeto Jugador, en la Inspector window verás que en el componente Animator, el Controller es ahora Jugador (el que se ha creado automáticamente).

Antes de continuar, desactiva la opción Apply Root Motion para que elk objeto no se mueva automáticamente sino a partir de las instrucciones del Animator y del flujo de animaciones que veremos a continuación.


El flujo de las animaciones

Lo primero que debemos modificar es el orden en el que se van a producir las animaciones e función de los diferentes estados del jugador ya que, por ejemplo en mi caso, según arranca el juego (Entry) el jugador pasa a la animación Death (Morir).

Esto ocurre básicamente porque las animaciones se añaden en orden alfabético y se asigna la primera de ellas como estado por defecto.

Puesto que el estado por defecto de nuestro jugador será Idle (parado, desocupado), haz clic en estado con el botón derecho y selecciona Set as Layer Default State.

Por otra parte, vamos a necesitar transiciones para los diferentes estados, de modo que algunas serán de un solo sentido mientras que otras serán de dos sentidos.

Añade dos transiciones, una en cada sentido, entre los estados parado (Idle) y andar (Walk) en la ventana Animator para que el resultado sea similar al siguiente (las transiciones se realizan con clic derecho en el estado > Make Transition):



Básicamente, el Jugador debe poder pasar de quieto a andar y viceversa. Además, debe poder saltar en cualquiera de los estados.

Seleccionando en cada una de las transiciones, puedes ver a la derecha la animación correspondiente.


Publicado el 02 de Diciembre de 2021

unityanimaciónhumanoide3d