Skip to main content
Participant
Sep 26, 2024 8:13 PM UTC
Question

Animating triangles along a path, equally spaced, looping.

Hi There,

Looking for some advice on the best way to achieve the below. I want the triangles to move along the path and be equally spaced and loop infinitely. I have them moving along the path but I'm having trouble finding the best way to ensure they are equally spaced (other than manually seperating them individually in a pre comp) is there an expression or a tutorial for how to achieve this.

Thanks very much in advance!

 

 

This topic is closed to new replies. Start a new post to keep the conversation going.

4 replies

Dan Ebberts
Community Expert
Community Expert
Sep 26, 2024 8:52 PM UTC

It's hard to say exactly, not knowing how you have things set up, but try this to get some ideas. Use the pen tool to draw your path. Then create one of your triangle layers (above the path layer in the timeline layer stack). Add this position expression to the triangles's position:

L = thisComp.layer("Shape Layer 1");
nTriangles = L.index - 1;
myNum = index;
loop = 5; // time to loop path (seconds)
path = L.content("Shape 1").content("Path 1").path
t = (time%loop)/loop;
myPct = (myNum-1)/nTriangles;
p = (myPct + t)%1;
L.toComp(path.pointOnPath(p));

Then duplicate the triangle layer a bunch of times.

 

 

Translate
Participant
Sep 30, 2024 3:17 PM UTC

Thanks Dan! This appears to be working, I can just duplicate the layer many times and it will populate the track with as many arrows I need. There is one missing though, do you know why that might be?

Translate
Dan Ebberts
Community Expert
Community Expert
Sep 30, 2024 3:24 PM UTC

Hmmm. Maybe one of them doesn't have the expression (my guess would be Layer 1). In any case, I'd try selecting the layers, one at a time, in the timeline to find out which layer it is, and where it is.

Translate