Blend tree para animaciones 2D en Unity

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

Contenido del curso

Personaje principal: Movimiento y Animaciones

Enemigos Avanzados

Personaje principal avanzado

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