Tutorial 65: ASCII & Text Generation

Joe Clay | Apr 7, 2017

Today we take a look at using an expression using sampleImage to generate text and make some really slow rendering ASCII art. I'm sure there are faster ways to do this, but this is an academic look at the process behind it, so that you can learn these techniques and hopefully find another use for them.

While I was able to make the intro work, unless you really need this effect, it's not worth attempting. I had to split up my HD frame into 4 quadrants. Two were rendered as stills, and two were rendered as videos. I cut the clips slightly in Premiere, but for about this length each section took an hour to render on my decently spec'd hackintosh.

Also, make sure to check out Mainframe's tutorial on Lester Banks, and that awesome site were I found that ASCII gradient.

Expression

string = thisComp.layer("Ramp").text.sourceText;
layer = thisComp.layer("Ramp").effect("Gradient Layer")("Layer");
s = layer.sampleImage(thisLayer.position)[0];
s = Math.floor(s*(string.length-1));
string.charAt(s);

Grab the Project Files

Feel free to download the project file that you can use in your own projects!

Become a Patron

If you'd like to help support Workbench, check out our Patreon page. For $5 a month, you get access to all of the tutorial project files we've made available as well as other monthly projects, rigs, R&D, elements, early product previews, and BTS content not available anywhere else!

Check out our Patreon Today