Auto scroll/fade text through a list
I'm trying to come up with an easy(ish) solution to a massive list I have. I have a huge list of names (20,000+).
What I'm hoping to do is have multiple names spread across the screen in random positions, then fade them out individually (preferably at different times) and then have a new name fade in replacing it. Is there an easy way of doing this where I can just provide the list to after effects and it does 90% of the hard work?
If this makes absolutely no sense, just say so and I'll make a quick mock up.
Thanks in advance!
I would use a fews scripts. First I would use Comps from Spreadsheet.. You could make a bunch of different templates for the names---each with a different duration, and include the fadeup in the comp. If you set up your spreadsheet correctly, names in different columns, you run it and each name drops will be created into a new comp. Next I would use Randomizer, to handle the random position. Then use Animation > Keyframe Assistant and put a overlap of about half the average duration of the comps, that should give you the random feel of them fading in and out.
Another thing you could try with the spreadsheet script, would be to make a template with a 100 template layers that seem to fade out randomly. Set that up, then run the spread sheet comp 200 times, then just drop the 200 comps into a final timeline, and render. This would probably make the project a little more manageable, and over 100 names, would still feel pretty random.
Johnny Cuevas, Editor
"I have not failed 700 times. I have succeeded in proving that those 700 ways will not work. When I have eliminated the ways that will not work, I will find the way that will work."
---THOMAS EDISON on inventing the light bulb.
you could also do this with a few expressions... the set up would be easy, but with 20,000 layers with 3 expressions each performance may be a little slow.
but here's how it could be set up.
assuming you have a file with a list of 20,000 names with each name on a new line, you could simply copy/paste that list into a text layer and then use an expression like this on the source text property to pull individual names from the list:
the expression will use the layer's index to determine which name to display... layer 1 would be the first name; layer 2, the second, etc... and you would just duplicate that layer 19,999 times to get all the names, but don't do that yet.
to place them randomly on the screen, you could use an expression like this on the position property:
you just need to set the original position to 0,0, and set the top, bottom, left and right values to determine the area to randomly place the layer. note that if you want to keep the names within the screen, look at the longest name and use the size of that name to help determine a buffer from the screen edges. say the longest name is 200 pixels, you want to the area to be at least 100 pixels from the left and right edges of the screen.
for the fade in/out, you could use an expression like this on the opacity property:
just set the fade time (in seconds) as needed.
after that is set up, you can duplicate you text layer 19,999 times and each name should randomly disperse on the screen.
then you'd need to use the key frame assistant to sequence the layers (they will sequence in the order you select them, so you'd want to select from top to bottom to keep the first name in the list as the first name to appear). choose to overlap the layers, enter the overlap duration and set the 'effect' to none (since the fade is set on the opacity property).
and that should get you most of the way there. you'll undoubtedly have layers taht overlap each other. you'll need to scrub through to find them and the just move them as needed to not overlap.
KCPQ, KZJO & KRCW