Animar sin keyframes es posible gracias a las expresiones en After Effects, una herramienta que permite crear movimientos continuos, variaciones aleatorias y controles personalizados con solo unas líneas de código. A continuación se explican tres aplicaciones prácticas que transforman por completo el flujo de trabajo en motion graphics.
¿Cómo rotar las ruedas automáticamente con la expresión time?
La expresión time lee el tiempo de la composición y lo convierte en un valor numérico que crece de forma constante. Cuando se aplica a la propiedad de rotación, devuelve un grado por cada segundo, lo cual resulta extremadamente lento para simular una rueda girando [01:00].
Para crear una vuelta completa por segundo, se multiplica time por 360:
javascript
time * 360
- Si la rueda debe girar en sentido contrario, se usa un valor negativo:
time * -360.
- Para aumentar la velocidad se añade un multiplicador adicional; por ejemplo, tres vueltas por segundo se logra con
time * 360 * 3 [02:07].
Una vez definida la expresión en una rueda, basta con copiarla y pegarla en la otra para obtener el mismo comportamiento sin necesidad de animar manualmente cada fotograma.
¿Qué hace la expresión wiggle y cómo simular un camino irregular?
La expresión wiggle genera variaciones aleatorias sobre el valor de una propiedad. Recibe dos parámetros: frecuencia (cuántas veces por segundo ocurre el cambio) y amplitud (qué tanto varía el valor) [03:06].
javascript
wiggle(15, 5)
- El primer número indica que el movimiento sucederá quince veces por segundo.
- El segundo número define una variación de cinco píxeles en la posición Y, lo que produce un rebote sutil en la tabla del dinosaurio.
¿Qué pasa si ya tengo una gráfica de movimiento definida?
Si la posición ya cuenta con curvas afinadas y no se quiere perder ese trabajo, se recomienda separar los ejes X e Y antes de aplicar la expresión. Otra opción es crear un objeto nulo, emparentar la capa a ese nulo y colocar el wiggle sobre él [02:42]. De esta forma la animación original se conserva intacta y el rebote se suma como capa adicional.
¿Cómo crear un control de parpadeo con checkbox y expresión if?
Para alternar entre un ojo abierto y uno cerrado sin animar keyframes, se utiliza un Checkbox Control, ubicado en la categoría Expression Controls del panel de efectos [04:02].
¿Por qué se controla la opacidad y no la visibilidad?
La visibilidad de una capa es un estado de visualización, no una propiedad numérica, por lo que las expresiones no pueden manipularla directamente. En cambio, la opacidad sí es un valor que se puede vincular al checkbox [04:30].
El flujo es el siguiente:
- Se arrastra el Checkbox Control a la capa de la cabeza y se le asigna un nombre descriptivo, como "blink".
- En la opacidad del ojo abierto se escribe una expresión if usando el pick whip (la espiral de enlace) para referenciar el checkbox [05:00].
javascript
if (thisComp.layer("cabeza").effect("blink")("Checkbox") == 0) 0 else 100
- Cuando el checkbox vale cero, la opacidad es cero y el ojo abierto se oculta.
- Cualquier otro valor (else) muestra la capa a 100 % de opacidad.
Para el ojo cerrado se copia la misma expresión invirtiendo la lógica: si el checkbox vale uno, la opacidad es cero [06:26].
¿Cómo mantener visible el panel de efectos al cambiar de capa?
Al seleccionar otra capa, el panel de efectos cambia automáticamente. Para evitarlo, se activa el candado del panel, lo que fija los efectos de la capa cabeza mientras se trabaja en las opacidades de los ojos [04:48].
Una vez configurado el control, las capas de los ojos se pueden bloquear y ocultar en la línea de tiempo, reduciendo el desorden visual y animando únicamente a través del checkbox.
¿Ya probaste estas expresiones en tus proyectos? Comparte tu experiencia y cuéntanos qué otras variaciones has logrado con time, wiggle o controles personalizados.