jairogarcíarincón

Animación Attack (Atacar)


9.12K

Crear animación



La siguiente animación que vamos a añadir es la de atacar (attack), que crearemos de forma similar a la anterior:

  • Arrastra ahora todos lo sprites de Assets > Sprites > Jugador llamados Attack (1) a Attack (8) al objeto Jugador.
  • Una nueva ventana indicará que se va a crear una nueva animación, la llamamos Attack y la guardamos dentro de Assets > Animations > Jugador.
  • El Animator ya no se crea, pues ya estaba creado antes y se utiliza el mismo.


Selecciona la animación Attack y en la Inspector window, asegúrate de desmarcar la casilla Loop Time, ya que en este caso no queremos que la animación se reproduzca en bucle, sino solo una vez:

22. Attack



Flujo de las animaciones



Si ahora abres la ventana Window > Animation > Animator, puedes ver el flujo de las animaciones del Jugador: Idle, que es la animación por defecto, Walk, con las transiciones creadas en el apartado anterior y Attack, que estará "aislada".

Añade dos transiciones, una en cada sentido, entre los estados parado (Idle) y atacar (Attack), y dos transiciones, una en cada sentido, entre los estados andar (Walk) y atacar (Attack) de la ventana Animator.

Añade además, a la izquierda de la lista de Parameters un nuevo bool llamado isAttacking, que nos servirá de condición para cambiar de animación desde el script:

23. Animator Attack


  • Selecciona la transición que va de Idle a Attack y, en la Inspector window, desactiva Has Exit Time (porque vamos a usar una condición) y añade en Conditions la condición isAttacking con el valor true.
  • Selecciona la transición que va de Attack a Idle y, en la Inspector window, desactiva Has Exit Time (porque vamos a usar una condición) y añade en Conditions la condición isAttacking con el valor false.
  • Selecciona la transición que va de Walk a Attack y, en la Inspector window, desactiva Has Exit Time (porque vamos a usar una condición) y añade en Conditions la condición isAttacking con el valor true y la condición isWalking con el valor true.
  • Selecciona la transición que va de Attack a Walk y, en la Inspector window, desactiva Has Exit Time (porque vamos a usar una condición) y añade en Conditions la condición isAttacking con el valor false y la condición isWalking con el valor true.


Script



Ya solo faltaría modificar el script del Jugador para que reproduzca la animación cuando se pulse el botón de Fire1, que corresponde al clic izquierdo del ratón. Para ello, añade dentro del método FixedUpdate y después del código de la animación de andar, las siguientes líneas:


Publicado el 21 de Noviembre de 2024

unity2danimación