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.