
Lección 3.3: No te quedes ahí sin hacer nada
Tutorial
Beginner
+10XP
60 mins
(513)
Unity Technologies

Descripción general:
El juego se ve genial hasta el momento, pero el personaje del jugador parece un poco... inerte. En lugar de que el personaje solo se deslice por el suelo, vamos a darle animaciones para cuando corra, salte e incluso cuando muera. También corregiremos la velocidad de estas animaciones para que encajen a la perfección en el entorno del juego.
Resultado del proyecto:
Con las animaciones del Animation Controller (Control de animación), el personaje tendrá 3 nuevas animaciones que ocurren en 3 estados diferentes del juego. Estos estados incluyen correr, saltar y morir, y se concatenan con transiciones suaves y se sincronizan para ajustarse al juego.
1. ¿Cómo explorar las animaciones del jugador?
Para hacer que este personaje mueva sus brazos y piernas, necesitamos explorar el Animation Controller.
Haz doble clic en el Animation Controller del jugador y después explora las distintas Layers, haz doble clic en los States para ver sus animaciones y en Transitions para ver sus condiciones.
2. ¿Cómo hacer que el jugador comience corriendo?
Ahora que estamos más cómodos con el Animation Controller, podemos corregir algunas variables y configuraciones para hacer que el jugador parezca que en realidad corre.
- En la pestaña Parameters, cambia la variable Speed_f a 1.0.
- Haz clic derecho en Run_Static > Set as Layer Default State.
- Haz un clic en el estado Run_Static y ajusta el valor de Speed en el Inspector para igualar la velocidad del Background.
3. ¿Cómo configurar una animación de salto?
La animación se ve bien mientras corre, pero muy extraña cuando el jugador salta sobre los obstáculos. A continuación necesitamos agregar una animación de salto que ponga un buen resorte en sus pies.
- En PlayerController.cs, declara una nueva private Animator playerAnim;.
- En Start(), define playerAnim = GetComponent<Animator>();.
- En el enunciado condicional if cuando el jugador salta, desencadena el salto:
playerAnim.SetTrigger(“Jump_trig”);.
4. ¿Cómo ajustar la animación de salto?
La animación al correr funciona, pero todavía no es perfecta. Debemos corregir algunas de las variables relacionadas con la física de nuestro personaje para que se vea como debe ser.
- En la ventana Animator, haz clic en el estado Running_Jump, después en el Inspector y reduce su valor Speed para reducir la velocidad de la animación.
- Ajusta los modificadores de Mass, Jump Force y Gravity del jugador para que el salto se vea mejor.
5. ¿Cómo configurar una animación de caída?
Las animaciones al correr y saltar se ven excelentes, pero aún hay otro estado para el cual el personaje debe tener una animación. En lugar de continuar su carrera cuando choca con un objeto, el personaje debe caer como si lo hubiesen noqueado.
- En la condición cuando el personaje choca con un obstáculo, define Death bool a true.
- En el mismo enunciado condicional if, define la integral DeathType a 1.

6. ¿Cómo evitar que el jugador salte mientras está inconsciente?
Todo funciona a la perfección, pero todavía hay un pequeño error por corregir: el jugador puede saltar desde la posición derribada, lo cual hace parecer que lo someten a desfibrilación.
- Para evitar que el jugador salte mientras está inconsciente, agrega && !gameOver a la condición del salto.

7. Resumen de la lección
Nueva funcionalidad:
- El jugador comienza la Escena con una animación de carrera a gran velocidad
- Cuando el jugador salta, hay una animación de salto
- Cuando el jugador choca, el jugador cae
Nuevos conceptos y habilidades:
- Controles de animación
- Estados, capas y transiciones de animación
- Parámetros de animación
- Programación de animación
- SetTrigger(), SetBool(), SetInt()
- Operador Not (!)
Siguiente lección:
- Puliremos este juego para que se vea mejor con efectos de sonido y partículas.