ADOBE AFTER EFFECTS: Forum Expressions Tutorials Creative Cloud

Presenting 800 photos quickly

COW Forums : Adobe After Effects Expressions

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
David Owen
Presenting 800 photos quickly
on May 1, 2020 at 8:16:15 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


Return to posts index

Andrei Popa
Re: Presenting 800 photos quickly
on May 2, 2020 at 7:51:39 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])



seedRandom(index,true)
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.

Andrei
My Envato portfolio.


Return to posts index

David Owen
Re: Presenting 800 photos quickly
on May 4, 2020 at 3:23:27 pm

Andrei,

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

- David


Return to posts index


David Owen
Re: Presenting 800 photos quickly
on May 4, 2020 at 8:53:59 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


Return to posts index

Andrei Popa
Re: Presenting 800 photos quickly
on May 4, 2020 at 9:36:41 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.

Andrei
My Envato portfolio.


Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2020 CreativeCOW.net All Rights Reserved
[TOP]