Blend tree para animaciones 2D en Unity

Clase 10 de 60Curso Avanzado de Creación de RPGs con Unity

Resumen

Mejora tu sistema de animaciones 2D en Unity con un enfoque profesional: consolida clips en un blend tree y mantén la última dirección mirando cuando el personaje se detiene. Con variables claras, transiciones precisas y ajustes en Animator, obtendrás un movimiento más limpio y fácil de escalar.

¿Por qué usar un blend tree para el movimiento 2D?

Un blend tree permite agrupar varias animaciones y combinarlas según parámetros como horizontal y vertical. Así evitas una malla compleja de estados y transiciones en Animator.

  • Borra los estados antiguos y deja solo player idle.
  • Con solo idle, al presionar play el personaje queda quieto.
  • Crea un blend tree para el movimiento y reduce el caos de “cajitas”.
  • Ganas control y claridad en la lógica de animación.

¿Qué clips mínimos necesitas para orientar al personaje?

Se crean cuatro variantes de un solo sprite: player facing down, player facing left, player facing right y player facing up.

  • Cada clip usa una única imagen del conejo en esa dirección.
  • player idle también mira hacia abajo, pero se separa para no mezclar.
  • Cuida los nombres: evita errores al asignar los sprites.

¿Qué variables y lógica controlan la última dirección e idle?

Se añaden dos parámetros para registrar la última dirección pulsada y uno para saber si hay movimiento.

  • Variables de última dirección: last horizontal y last vertical.
  • Variable booleana: walking indica si el personaje se mueve.
  • Lógica central: si walking es verdadero, se reproducen las 4 animaciones de movimiento.
  • Si walking es falso, se muestra una de las 4 animaciones “facing” según la última dirección.

¿Cómo se configuran las transiciones en Animator?

Configura un estado de movimiento con blend tree y controla el paso entre estados con la booleana.

  • Crea estado desde Create State > from new blend tree.
  • Renombra a player movement para identificarlo mejor.
  • Transición de idle → player movement cuando walking = true.
  • Transición de player movement → idle cuando walking = false.
  • Desactiva exit time y también “duración fija” para transiciones más rápidas.

¿Cómo se arma el blend tree 2D y se asignan las animaciones?

Dentro del blend tree, usa la combinación de ejes para disparar el clip correcto.

  • Tipo de blend tree: 2D simple directional.
  • Parámetros: horizontal y vertical.
  • Campos de movimiento (motion fields): añade 4, uno por dirección.
  • Asignación por posición: usa position x y position y.

¿Qué valores usar en cada dirección?

Define los extremos que llegan del Input Manager y asígnalos a cada clip de movimiento.

  • Derecha: x = 1, y = 0 → animación “player right”.
  • Izquierda: x = -1, y = 0 → animación “player left”.
  • Arriba: x = 0, y = 1 → animación “player up”.
  • Abajo: x = 0, y = -1 → animación “player down”.

¿Cómo interpretar el panel del blend tree?

El gizmo y los indicadores te muestran el peso de cada animación y su mezcla.

  • El círculo rojo es sensible: mueve la dirección y observa la mezcla.
  • Los diamantes azules crecen cuando te acercas a su dirección.
  • Cerca del centro, el personaje mantiene la dirección por defecto.

¿Cómo crear el blend tree para estar quieto mirando la última dirección?

Duplica el blend tree de movimiento y cámbialo para el estado sin desplazamiento.

  • Clona el blend tree existente.
  • Sustituye parámetros por last horizontal y last vertical.
  • Asigna los clips “facing” de un solo sprite.
  • No uses horizontal ni vertical en este árbol.

¿Tienes dudas o trucos para organizar Animator con blend trees? Cuéntalo en los comentarios y mejora el flujo entre todos.

      Blend tree para animaciones 2D en Unity