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.