Animar sin salir de Unity#
No toda animación viene de un programa 3D. Muchas —una puerta que se abre, una plataforma que sube y baja, una moneda que gira, un botón que late— las creas dentro de Unity con la Animation window, poniendo keyframes (fotogramas clave) a las propiedades de un objeto.
No las confundas: la Animation window (esta) sirve para crear los clips (el contenido animado). La Animator window (ver Animator Controller) organiza cuándo se reproduce cada clip y las transiciones. Aquí creamos el clip; el Animator lo gestiona.
Crear tu primer clip#
- Selecciona el objeto que quieres animar.
- Abre
Window → Animation → Animation(oCtrl+6). - Pulsa Create, dale nombre al clip y guárdalo. Unity crea el clip y un Animator Controller automáticamente, y los enlaza al objeto.
Keyframes: el corazón de la animación#
Un keyframe guarda el valor de una propiedad en un instante. Unity interpola entre keyframes para crear el movimiento. Dos formas de crearlos:
Modo grabación (la más fácil):
- Pulsa el botón rojo de grabar.
- Mueve el cabezal de tiempo (la línea vertical) al segundo que quieras, p. ej. 0:00.
- Cambia el objeto en la escena (muévelo, gíralo, cámbiale el color): Unity crea keyframes automáticamente.
- Avanza el cabezal a, p. ej., 1:00 y pon el objeto en su posición final. Otro keyframe.
- Sal del modo grabación y dale a Play en la ventana: el objeto se anima entre ambos estados.
No solo posición/rotación/escala: el color de un material, la intensidad de una luz, el volumen de un audio, un valor de tu propio script (si es público o [SerializeField])... e incluso activar/desactivar componentes. Pulsa Add Property en la Animation window para ver todo lo animable del objeto.
Curvas: controlar el "cómo"#
Por defecto Unity suaviza la interpolación (arranca y frena despacio). En la pestaña Curves (abajo de la ventana) ajustas las curvas de cada propiedad:
- Ease In/Out: entra y sale suave (natural).
- Lineal: velocidad constante (mecánico).
- Constant: salta de golpe sin interpolar (útil para cambios instantáneos).
Dominar las curvas es lo que separa una animación "de robot" de una con vida (el famoso ease).
Eventos de animación#
Puedes disparar código en un punto exacto del clip con un Animation Event: por ejemplo, reproducir un sonido justo cuando el pie toca el suelo, o activar la hitbox en el fotograma del golpe.
- En la Animation window, coloca el cabezal donde quieras.
- Pulsa el botón de Add Event.
- Elige un método público de un script del objeto:
public class Puerta : MonoBehaviour
{
// La animación llamará a esto en el fotograma que marques
public void SonarChirrido() => Debug.Log("¡Crac!");
}Es la forma correcta de sincronizar efectos con la animación, en vez de adivinar tiempos con corrutinas.
Loop y ajustes del clip#
Selecciona el clip en el Project y en el Inspector marca Loop Time si debe repetirse (un giro continuo, un flotar sin fin). También ajustas ahí la velocidad general desde el Animator.
Errores frecuentes#
- Confundir la Animation window (crear) con la Animator window (organizar).
- Olvidar salir del modo grabación y seguir moviendo cosas creando keyframes sin querer.
- No activar Loop Time en animaciones que deben repetirse.
- Sincronizar sonidos/efectos con corrutinas en vez de Animation Events.
- Dejar todas las curvas lineales y que todo se vea mecánico.
Ponte a prueba#
Resumen#
La Animation window crea clips animando propiedades con keyframes: activa grabar, mueve el cabezal, cambia el objeto y Unity interpola. Puedes animar casi cualquier propiedad (posición, color, luz, valores de scripts, activar componentes), controlar el ease con las curvas y disparar código con Animation Events. Marca Loop Time para lo que se repite. Los clips que creas aquí los gestiona luego el Animator Controller. Para cinemáticas con varios objetos, pasa a Timeline.