🎮 UnityDocs

Blend Trees y animación 3D (Avatar, root motion, IK)

Cómo animar personajes 3D: el sistema Humanoid y los Avatares para reutilizar animaciones, los Blend Trees para mezclar locomoción, el root motion y una introducción al IK con Animation Rigging.

📄 ArtículoAvanzado✅ RevisadoUnity 6.0 LTSActualizado 2026-07-15
DificultadConceptual Código Matemáticas
Tiempo📖 Lectura 8 min · ⌨️ Práctica 30 min

Parte del Animator, pero en 3D#

Ya viste el Animator (estados, transiciones, parámetros). En 3D con personajes humanoides se añaden tres piezas: el Avatar (esqueleto), los Blend Trees (mezcla suave) y el root motion (el movimiento sale de la animación). Y para ajustes finos, el IK.

Humanoid y Avatar: reutilizar animaciones#

Cuando importas un modelo de personaje, en sus Import Settings → pestaña Rig, pon Animation Type → Humanoid. Unity crea un Avatar: un mapa de "este hueso es el brazo izquierdo, este la cabeza...".

El superpoder del Humanoid: retargeting

Con Avatares humanoides, una animación hecha para un personaje funciona en cualquier otro humanoide, aunque tengan proporciones distintas. Puedes comprar un pack de animaciones (de Mixamo, por ejemplo) y aplicarlas a tu personaje sin rehacerlas. Esto se llama retargeting y ahorra una cantidad brutal de trabajo.

Blend Trees: mezclar locomoción#

Un Blend Tree mezcla varias animaciones según un parámetro, en vez de saltar bruscamente entre estados. El caso estrella: caminar/correr.

  • 1D: un parámetro (Velocidad) mezcla Idle → Andar → Correr. A velocidad 0 se ve Idle; a 0,5 una mezcla de andar; a 1 correr.
  • 2D: dos parámetros (VelocidadX, VelocidadY) mezclan movimiento en 8 direcciones (strafe), típico en shooters en tercera persona.

Se crea dentro del Animator: clic derecho → Create State → From New Blend Tree. Desde código solo alimentas los parámetros:

C#
anim.SetFloat("Velocidad", velocidadNormalizada, 0.1f, Time.deltaTime);  // con suavizado
El tercer y cuarto parámetro de SetFloat

SetFloat("Velocidad", valor, tiempoDeAmortiguacion, Time.deltaTime) suaviza el cambio en vez de saltar de golpe. Da transiciones de locomoción mucho más naturales que asignar el valor directamente.

Root Motion: ¿quién mueve al personaje?#

Dos filosofías para el desplazamiento:

⚖️ Comparativa · Root Motion vs movimiento por código
Root MotionMovimiento por código
Quién mueveLa propia animaciónTu script (Move, velocidad)
PrecisiónMenos control, muy realistaControl total
Deslizamiento de piesMínimo (bien hecho)Posible si no cuadra la velocidad
Ideal paraAnimaciones cinemáticas, meleePlataformas, shooters, control preciso

Se activa con la casilla Apply Root Motion del Animator. Para juegos de acción con control fino, muchos prefieren mover por código y desactivar root motion; para animaciones muy realistas (ataques con desplazamiento), root motion brilla.

IK: ajustar poses en tiempo real#

El IK (Inverse Kinematics) coloca partes del cuerpo hacia un objetivo: los pies que se adaptan al terreno inclinado, la mano que agarra un pomo exacto, la cabeza que mira al jugador. En Unity moderno se hace con el paquete Animation Rigging (constraints como Two Bone IK, Multi-Aim), más potente y visual que el viejo OnAnimatorIK.

IK para que los pies no floten

El problema clásico en terreno irregular: los pies atraviesan el suelo o flotan. Un Two Bone IK Constraint por pierna, con un raycast al suelo, ajusta cada pie a la altura real. Es lo que separa un personaje que "pisa" de uno que "patina".

Errores frecuentes#

  • No configurar el Rig como Humanoid y perder el retargeting.
  • Saltos bruscos entre andar y correr por no usar Blend Trees.
  • Mezclar root motion con movimiento por código sin querer (el personaje se mueve el doble o "patina").
  • Esperar IK sin instalar Animation Rigging.
  • Escala del modelo incorrecta al importar (animaciones que se ven raras).

Ponte a prueba#

📝 Pon a prueba lo aprendido

Resumen#

Para animar personajes 3D: configura el modelo como Humanoid (Avatar) para reutilizar animaciones (retargeting), usa Blend Trees (1D/2D) para mezclar locomoción con SetFloat amortiguado, decide entre root motion (realista) y movimiento por código (control), y añade IK con Animation Rigging para pies en el terreno o manos precisas. Todo se apoya en el Animator.

Fuentes y para profundizar