Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Forums Adobe After Effects Expressions Presenting 800 photos quickly

  • Presenting 800 photos quickly

  • David Owen

    May 1, 2020 at 8:16 pm

    Hey, folks! I’ve been given the (urgent) challenge of presenting approximately 800 senior portraits in a graduation video. I’ve looked through The Cow and can’t find anything to help.

    To do it quickly while still giving each pic enough time to be recognized has led me to present each photo scaling up from the center of the screen to off the screen at a random location on the perimeter of the screen… similar to a star field effect with a photo attached to each star.

    Does anyone know of a script, template, service or other method of making this happen? Each one is not a difficult thing to create, but the shear number of pics and randomizing their path off screen is giving me gut pains. Ideas?

    If there’s a better forum for this question, please advise me. Thanks!

    David Owen
    Senior Digital Media Producer
    Cobb County School District
    Marietta, Georgia, USA

  • Andrei Popa

    May 2, 2020 at 7:51 am

    If you want to go fully random, try this.

    Put them all in middle. Then add these expressions to size, respectively position:

    dur = 3;
    linear(time,inPoint, inPoint+dur,[0,0], [100,100])

    dur = 3;
    cWidth = thisComp.width;
    cHeight = thisComp.height;
    rect = thisLayer.sourceRectAtTime(time,true);
    thisWidth = rect.width;
    thisHeight = rect.height;
    outSide = Math.round(random());//Here we decide if it goes out vertically or horizontally
    x = outSide == 0 ? Math.random() < 0.5 ? cWidth+thisWidth/2 : - thisWidth/2 : random(cWidth);
    y = outSide == 1 ? Math.random() < 0.5 ?cHeight+thisHeight/2 : -thisHeight/2 : random(cHeight);
    linear(time, inPoint, inPoint+dur,value,[x,y])

    Set the dur variable to how much time you want them to travel.

    Then set the duration for each layer, in the timeline, equal to what dur variable you chose.
    Select all layers, right click, keyframe assistant>distribute layers. Check overlap only if you want them to overlap.
    You should now have what you wanted.

    My Envato portfolio.

  • David Owen

    May 4, 2020 at 3:23 pm


    Thank you so much! I’ll give it a shot and report back.

    – David

  • David Owen

    May 4, 2020 at 8:53 pm

    The expression worked pretty well on position. I couldn’t figure out how to make use of it on scaling (“size”). I just set each pic’s scale to scale up from 0 to 100% over the duration. Is there an added benefit of using the script for this?

    Also, when using it to present lots of pics quickly, it would create “trains” of pics in a single direction. I’m guessing it has something to do with randomization using time? How could I modify the expression to yield more random directions?

    Again, thanks for your help!!

    – David

  • Andrei Popa

    May 4, 2020 at 9:36 pm

    I don’t know for a global fix on train of pics. But you can change the first parameter of seedrandom to anything else(something like seedRandom(1, true)). Basically, for each picture that you don’t like the direction, you can change this value and it will generate another.

    The train has nothing to do with time, its just that most of the time, wild random is not that beautiful.

    You can make it more organized if you want.
    One method would be to create a chain of values(about 10-15) and repeat those. Being so many, I don’t think that it would be observable. You could even add an offset that modifies them each cycle, so they don’t repeat.

    My Envato portfolio.

Viewing 1 - 5 of 5 posts

Log in to reply.

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