ADOBE AFTER EFFECTS: Forum Expressions Tutorials Creative Cloud

Dots between nulls

COW Forums : Adobe After Effects Expressions

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Navarro Parker
Dots between nulls
on Jan 25, 2017 at 6:31:13 pm

Is there a way to move dots between two nulls like this example?

It's easy to set up in Cinema4D, but I can't figure it out in AE (unless I want every dot to be its own layer - which would get really heavy if I want 20 of these lines of dots)

Tried Particular motion paths, but I couldn't figure out how to animate a motion path. It seems I would need a motion path that's driven by another motion path? Any help would be... well... helpful.

Return to posts index

Dan Ebberts
Re: Dots between nulls
on Jan 25, 2017 at 6:46:42 pm

You might be able to do it by creating a dot shape layer, then duplicating the Ellipse a bunch of times to end up with a pile of dots, all in the same layer. The algorithm for the motion looks tricky though.


Return to posts index

Emre Anil
Re: Dots between nulls
on Jan 25, 2017 at 9:05:19 pm

If you have particular it's kinda easy but not perfect

Assuming you have P1, P2 layers as starting and end points
Make a new layer on top of Particle layer and apply Circle effect. Make this layer continuously rasterize so the circle can go out of layer bounds. And select Circle layer as the particle layer's track matte. Finally add the following expressions:

Circle - Center:


Circle - Radius:

p1 = thisComp.layer("P1").transform.position;
p2 = thisComp.layer("P2").transform.position;

Because you're using the circle layer as alpha matte, the particles at the end will be cut out..

Particular setup:
Adjust Particles/sec, velocity etc. as you like. Particle Life should be enough to travel from P1 to P2 so set that based on the distance between points and particle velocity.

Direction: Directional
Direction Spread [%]: 0
X Rotation: 90;

Position XY:

temp = thisComp.layer("P1").transform.position;
[temp[0], temp[1]]

Y Rotation:

p1 = thisComp.layer("P1").transform.position;
p2 = thisComp.layer("P2").transform.position;
angle = p1-p2;
radiansToDegrees(Math.atan2(angle[1],angle[0])) - 90;

Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2017 All Rights Reserved