Transiciones de animación en Unity 2D

Clase 5 de 53Curso de C# para Videojuegos

Resumen

Domina las transiciones de animación en Unity 2D con el Animator: configura parámetros booleanos, define condiciones claras y optimiza el grafo para un gameplay fluido. Verás cómo pasar de correr a saltar o morir con un par de clics, desactivar Has Exit Time para fundidos naturales y preparar el proyecto con tags útiles como player, coin y enemy.

¿Cómo configurar transiciones y condiciones en el Animator de Unity 2D?

La clave es gobernar el grafo con parámetros y condiciones simples. Trabajarás con tres estados: run, jump y die, y dos variables que reflejan el estado del personaje.

  • Crea parámetros en Parameters: booleanos. Usa dos: is on the ground y is alive. Aplica convención camel case para legibilidad.
  • Ordena los nodos del grafo en triángulo para claridad visual.
  • Crea transiciones: de run → jump, run → die, jump → run y jump → die. El estado die no debe tener salidas.
  • Define condiciones:
  • run → jump cuando is on the ground = false.
  • jump → run cuando is on the ground = true.
  • run → die y jump → die cuando is alive = false.
  • Desactiva Has Exit Time en las cuatro flechas para permitir transiciones en cualquier momento. Verás el icono de ojo que indica cambio inmediato.
  • Ajusta si lo necesitas en el panel lateral: tiempos de salida, fundidos y opciones como espejo o normalizar.

Con este esquema, el flujo es claro: falso → salto, verdadero → correr; y si el personaje no está vivo, pasa a morir desde cualquier estado.

¿Cómo probar y ajustar las animaciones en tiempo real?

Prueba en modo Play visualizando el grafo y editando las variables en Parameters para verificar el comportamiento de las transiciones.

  • Inicia con is alive = true para evitar que entre directo a die.
  • Si is on the ground = false, el estado activo será jump.
  • Cambia is on the ground = true y verás la transición a run.
  • Observa un breve fundido donde conviven ambas animaciones, creando un resultado más natural.
  • Mantén Has Exit Time desactivado si quieres transiciones inmediatas sin esperar a que termine la animación.

Consejo de organización: coloca bien los nodos, selecciona cada flecha y revisa las condiciones. Así evitas transiciones lentas, bucles indeseados y estados sin salida.

¿Para qué sirven las tags y cómo preparar el proyecto para programar?

Las tags facilitan localizar objetos por grupo desde código, sin depender de la posición en escena ni de nombres exactos.

  • Selecciona el GameObject del personaje y asigna la tag player.
  • Crea nuevas etiquetas como coin y enemy para monedas y enemigos.
  • Úsalas después en scripts para identificar familias de objetos de forma rápida.
  • Fíjate en el asterisco en la escena: indica que hay cambios sin guardar.
  • Guarda con el atajo: Command S en Mac o Control S en Windows.
  • Deja preparado el estado inicial: is alive = true y, si lo necesitas, is on the ground = false para que el personaje empiece en el aire antes de aplicar la gravedad.

Como siguiente paso, ten listas las animaciones del personaje, la moneda y el enemigo para añadir gravedad y movimiento 2D.

¿Tienes dudas sobre las condiciones, el uso de tags o el flujo del Animator? Cuéntame en comentarios qué transición te costó más y lo vemos juntos.

      Transiciones de animación en Unity 2D