jairogarcíarincón
Para que el jugador reproduzca la animación de saltar debemos modificar el código al método FixedUpdate que correspondía a saltar:
//Saltar
if (Input.GetButton("Jump") && isSuelo())
{
rb.velocity += Vector3.up * velocidadSalto;
animator.SetBool("isJumping", true);
}
//Si está cayendo
if (rb.velocity.y < 0) //Si está cayendo
{
animator.SetBool("isJumping", false);
}
Además, respecto a las animaciones, debemos tener en cuenta que el jugador debe poder saltar tanto si está quieto como si está parado. Para ello, vamos a necesitar añadir a nuestro Animator un nuevo bool llamado isJumping (como el que hemos utilizado en el script), así como cuatro transiciones de ida y vuelta entre estar quieto y saltar, y andar y saltar. Se muestran a continuación las 4 transiciones, todas ellas con Has Exit Time desactivado, y cómo quedaría ahora nuestro Animator:
Ejercicio propuesto 4
Añade la interactividad necesaria para que el jugador realice la animación de correr cuando pulse un botón y esté andando o cuando lleve andando mas de 3 segundos. Asegúrate de que además pueda saltar mientras corra.
Publicado el 23 de Noviembre de 2024
unityanimaciónhumanoide3d