Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Dots between nulls

  • Dots between nulls

    Posted by Navarro Parker on January 25, 2017 at 6:31 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.

    Emre Anil replied 6 years, 10 months ago 3 Members · 2 Replies
  • 2 Replies
  • Dan Ebberts

    January 25, 2017 at 6:46 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.

    Dan

  • Emre Anil

    January 25, 2017 at 9:05 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:

    thisComp.layer("P1").transform.position;

    Circle – Radius:

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

    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;

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy