How to loop a path in after effects?

Cómo Crear un Loop de Trazado en After Effects

23/01/2019

Valoración: 4.85 (15081 votos)

La animación de trazados en Adobe After Effects abre un universo de posibilidades creativas, desde complejas máscaras animadas hasta elegantes animaciones de texto. Sin embargo, muchos animadores, tanto novatos como experimentados, se topan con un muro frustrante: intentar crear un bucle perfecto de una animación de trazado. Si alguna vez has intentado aplicar la popular expresión loopOut a una propiedad de trazado, ya sabes de lo que hablamos: simplemente no funciona. Pero no te desanimes. Aunque After Effects no ofrece una solución nativa y directa para esto, existe una poderosa expresión que resuelve este problema de manera elegante y eficiente. En este artículo, no solo te proporcionaremos el código que necesitas, sino que también desglosaremos cómo funciona y cómo puedes dominar las expresiones para llevar tus animaciones al siguiente nivel.

How to create a loop animation in after effects?
In Adobe After Effects, you can create looped animations using expressions. A loop expression allows you to repeat a specific animation or movement indefinitely. Here’s an example of a loop expression in After Effects: Create a new composition by going to “Composition” > “New Composition” or using the shortcut Ctrl+N (Windows) or Command+N (Mac).
Índice de Contenido

El Desafío: ¿Por Qué loopOut() Falla con los Trazados?

Antes de saltar a la solución, es útil entender por qué nos enfrentamos a este problema. Las propiedades estándar en After Effects, como Posición, Escala o Rotación, manejan valores numéricos simples. La expresión loopOut() está diseñada para leer estos valores y sus keyframes para luego repetir el ciclo de animación. Sin embargo, la propiedad de 'Trazado' (Path) es diferente. No almacena un simple número, sino un conjunto complejo de datos que describen los vértices, las tangentes de Bézier y la información de si el trazado es abierto o cerrado. Esta complejidad es la razón por la que las expresiones de bucle estándar no pueden interpretarla y repetirla directamente. Es por esto que se necesitan métodos alternativos, como precomponer y aplicar remapeo de tiempo, o la solución mucho más limpia que te mostraremos: una expresión personalizada.

La Expresión Definitiva para Bucles de Trazado

Aquí está la solución que has estado buscando. Esta expresión, al ser aplicada a la propiedad de 'Trazado', leerá tu animación de keyframes y la repetirá en un bucle continuo. Para aplicarla, simplemente mantén presionada la tecla Alt (Opción en Mac) y haz clic en el icono del cronómetro junto a la propiedad 'Trazado' de tu capa. Esto abrirá el editor de expresiones, donde deberás pegar el siguiente código:

timeStart = thisProperty.key(1).time; duration = thisProperty.key(thisProperty.numKeys).time - timeStart; pingPong = true; if (thisProperty.numKeys > 1) { quant = Math.floor((time - timeStart) / duration); if (quant < 0) quant = 0; if (quant % 2 == 1 && pingPong == true) { t = 2 * timeStart + (quant + 1) * duration - time; } else { t = time - quant * duration; } thisProperty.valueAtTime(t); } else { value; }

Este código analiza el tiempo de inicio de tu primer keyframe y la duración total de tu animación de trazado. Luego, calcula continuamente en qué punto del ciclo original debería estar la animación en el tiempo actual de la línea de tiempo, creando un bucle perfecto.

How to loop a path in after effects?
Alt-click on the Path property and paste an expression below. This expression works in the same way as a standard loop cycle expression below. How to loop a path like “pingpong”? Alt-click on the Path property and paste an expression below.

¿Cómo Funciona? Personalizando el Bucle

Una de las grandes ventajas de esta expresión es que puedes personalizarla fácilmente. Observa la tercera línea: pingPong = true;.

  • Modo Ping-Pong: Si dejas esta línea como pingPong = true;, la animación se reproducirá hacia adelante y luego hacia atrás, en un ciclo infinito de ida y vuelta.
  • Modo Ciclo (Cycle): Si cambias esta línea a pingPong = false;, la animación se repetirá desde el principio cada vez que termine, creando un bucle de ciclo estándar. Para que este modo sea fluido, asegúrate de que tu primer y último keyframe del trazado sean idénticos.

Guía Rápida: Los Fundamentos de las Expresiones de Bucle

Aunque la expresión anterior es específica para trazados, es crucial entender cómo funcionan las expresiones de bucle estándar para otras propiedades. Una expresión en After Effects es una pequeña pieza de código JavaScript que puede automatizar tareas de animación, ahorrándote horas de trabajo manual. La familia de expresiones loop es una de las más útiles.

How do I make an expression loop a path animation?
To make the expression loop a path animation you'll have to create the ping pong by copying and pasting keyframes, then selecting keyframes and using the Keyframe Assistant to Time Reverse the keyframes if there are more than 2 keyframes. Here's the workflow for 2 keyframes.

La estructura básica de una expresión de bucle es propiedad("tipo", modificador). Por ejemplo: loopOut("pingpong", 1).

  • Propiedad: Generalmente loopIn (para bucles antes de los keyframes) o loopOut (para bucles después de los keyframes).
  • Tipo: Define el comportamiento del bucle.
  • Modificador: Un número opcional que le dice a After Effects cuántos segmentos de keyframes debe incluir en el bucle, contando desde el final.

Tabla Comparativa de Tipos de loopOut

Para todas las propiedades que no son de trazado, puedes usar estas variantes de loopOut():

Tipo de BucleDescripciónCaso de Uso Ideal
loopOut("cycle")Repite la animación desde el primer keyframe una vez que llega al último.Animaciones de fondo continuas, rotación de engranajes.
loopOut("pingpong")Reproduce la animación hacia adelante y luego en reversa, rebotando entre el primer y último keyframe.Movimientos de rebote, luces parpadeantes, un personaje saludando.
loopOut("offset")Repite la animación, pero cada nuevo ciclo comienza desde el valor donde terminó el anterior.Una rueda que se mueve a través de la pantalla, acumulando distancia.
loopOut("continue")Continúa la animación indefinidamente con la velocidad y dirección del último keyframe.Objetos que necesitan salir de la pantalla con una velocidad constante.

Ideas Creativas y Consejos Profesionales

Ahora que tienes el poder de crear bucles en cualquier propiedad, incluyendo los trazados, las posibilidades son infinitas. Aquí tienes algunas ideas para inspirarte:

  • Tipografía Dinámica: Anima un trazado para que siga una forma compleja y luego usa la expresión de bucle para crear un efecto de escritura o revelado de texto que se repite hipnóticamente.
  • Fondos Orgánicos: Crea formas abstractas con la herramienta de pluma, anima sus trazados para que se muevan y ondúlen, y luego aplica el bucle. Combina varias capas para generar fondos animados complejos y fluidos.
  • Combina con Otros Efectos: Usa tu trazado en bucle como una máscara para un efecto como 'Relleno' o 'Resplandor', o combínalo con el efecto 'Trazado' (Stroke) para visualizar la animación del trazado de formas creativas.

Consejo Profesional: Cuando trabajas con expresiones, puede ser difícil ajustar tus keyframes porque no ves la animación original. Haz clic en el pequeño icono '=' junto a tu propiedad en la línea de tiempo. Esto desactivará temporalmente la expresión, permitiéndote ver y editar tus keyframes originales. Vuelve a hacer clic para reactivar el bucle.

What is a loop in after effects?
The Loop Type: loopOut (“pingpong”,1) The Loop Type is where you decide the type of animated loop expression After Effects will create. There are 4 Loop Types available: The PingPong Loop will take your first and last keyframe and move back and forth between them. The Cycle Loop repeats your keyframes in order.

Preguntas Frecuentes (FAQ)

¿La expresión de trazado funciona si tengo más de dos keyframes?
¡Sí! La expresión está diseñada para funcionar con toda la secuencia de keyframes que has creado. Calculará la duración total desde el primer hasta el último keyframe y repetirá esa secuencia completa, sin importar cuántos keyframes intermedios existan.
Mi bucle de trazado en modo 'cycle' tiene un salto brusco. ¿Cómo lo arreglo?
Esto sucede porque tu primer y último keyframe no son idénticos. Para un bucle de ciclo perfecto, el final de la animación debe coincidir exactamente con el principio. La forma más fácil de lograrlo es copiar tu primer keyframe de trazado y pegarlo en la posición del último.
¿Puedo usar esta expresión en una máscara?
Absolutamente. Una máscara en After Effects tiene una propiedad llamada 'Trazado de máscara' (Mask Path). Puedes aplicar esta misma expresión a esa propiedad para crear máscaras animadas en bucle, lo cual es increíblemente útil para efectos de revelado y transiciones complejas.

Dominar las expresiones puede parecer intimidante al principio, pero son una de las herramientas más potentes en el arsenal de un diseñador de movimiento. Empezar con algo tan útil como solucionar el bucle de trazados es el primer paso para desbloquear un flujo de trabajo más rápido, inteligente y creativo en After Effects. Así que adelante, copia esa expresión, experiméntala y observa cómo tus animaciones de trazado cobran vida propia en un bucle sin fin.

Si quieres conocer otros artículos parecidos a Cómo Crear un Loop de Trazado en After Effects puedes visitar la categoría Juegos.

Subir