Flow Library

Joe Clay | Jan 3, 2017

Library Preview

Hi guys! I've finally gotten around to making my own library for Flow. If you don't have Flow, you're going to want to go buy it. It's definitely one of those scripts that improves the quality of your work and helps you work faster.


Good easing will give your work a lot of life. And since animators can make these libraries available for download, you can start with a solid foundation without even having to adjust your own curves! So in that spirit, I'm sure you guys can put our library to good use!

Storyboard Templates

Joe Clay | Dec 1, 2016

Hey everyone! I've developed an improved workflow for storyboarding. I used to just draw them on a page I made and scan them in. I didn't do much editing of them in Photoshop unless something was really a pain and needed to be duplicated a billion times.

Storyboard image

Initially, I set up this InDesign document that took those scans and put them in a slightly cleaner template. But that was still tedious. A few months back I bought an iPad Pro and Apple Pencil and I started to use Procreate. I used it to board a project and it was awesome! It's easy to collaborate with someone without having to be near a computer, and I didn't have to redraw things over and over. It made making slightly different frames super easy so making more frames to fit a lengthy script wasn't a big deal. And because of that, I can get a better feel for pacing. Since I can export to PSD from Procreate, I can then export those layers to PNGs. I use a 4K 16:9 preset (3840x2160) in Procreate so I can enlarge if need be.

So then I needed to step up my InDesign game. I made all the text boxes threaded so I can put my script in and it flows the necessary pages. It takes minutes to make my final document now—especially since I now do them completely digitally.

Anyway, you can grab that InDesign document right here. The zip also contains my older templates that I printed to draw on. If you're unfamiliar with InDesign or how I made this document, continue reading to figure out how to use it.

Storyboard examples

Initial Setup

Storyboard examples

Using the Template

  1. First, I like to set my display mode to high performance because nothing I do in Indesign is tough to display.
  2. Open up Type > Text Variables > Define.
  3. Set the _Project Name variable to, uh, the name of your project.
  4. If you want to use the 16 grid setup it's ready to go (it's 2 lines of text per box).
  5. If you want the 9 grid, make a new page and delete the original page.
  6. If you made a new page, hold shift+cmd and click drag through each line of text frames to make them editable.
  7. Paste your script into the first text frame. New pages will flow as needed.
  8. Edit your script. You can add descriptions using the "comment" text style.
  9. Shift+cmd drag over every frame that you want to put an image in (it is fine to cross over the text boxes, or even select frames you don't want to fill.
  10. Now you can hit cmd+d with nothing selected or go to File > Place.
  11. Navigate to your folder of storyboard frames. Select the first frame, and shift+click on the last one. This will load up your cursor with all of the boards.
  12. Now just click in each frame to drop each image where they need to go.
  13. Once you've placed the frames, if you need to duplicate any, hit B. A box will pop up.
  14. Click on the frame you want to duplicate. Then hit B again and it'll look the like place cursor again.
  15. Click in the frame you need to place the duplicate.
  16. If any of the frames fit strangely, click to select the content of the frame, and the right click and select Fitting > Fill Frame Proportionally.
  17. Click on frames to select them to resize as needed.
  18. Hit cmd+E to export. I usually just use 'High Quality Print.'

It sounds way more complicated than it is. If you haven't used InDesign before, it can seem odd. But once you've done it a few times, you will be glad you downloaded this file.

I'm not an InDesign master, but if you have any questions use the contact form to shoot me an email and I'll point you in the right direction.

After Effects Icons

Joe Clay | Jul 21, 2016

Updated 11/3/16 for CC 2017!

Happy Thursday! I saw that the excellent Zack Lovatt had posted some icons for those of us who keep multiple versions of After Effects around for one reason or another. Having multiple versions can be a pain when you're in your file system or looking at icons on your dock. Zack created a set for Windows users but he didn't have a way to make them for Mac, so since I use a Mac I built the larger icons, and asked him for permission to upload his small versions in the Mac set. You can get them here.

Icon example

To change your AE icon:

  1. Find the After Effects app whose icon you want to change
  2. Find the corresponding AE .icns file for that version
  3. Hit Command + i or right click and select 'Get Info'
  4. Drag the .icns file to the icon preview in the top left

You might have to click the icon in your dock, or possibly remove it and replace it to get it to refresh.

If you want to restore the original icon:

  1. Go to the After Effects app whose icon you want to restore
  2. Hit Command + i or right click and select 'Get Info'
  3. In the window that opens, select the icon in the top left and hit Command + x or Edit > Cut to restore the icon

The download includes all of the files required to make the icons, including Zack's original files. There's also an AE project that the rest of the icons were built in if you'd like to make your own. I used Icon Composer 2x by Lemon Mojo to assemble the .icns files. It's awesome, super-easy, and free.


Joe Clay | Feb 19, 2016

Happy Friday! Here's a free script that my studiomate, Sev has asked me about. It lets you put text into a floating/dockable panel, so you can keep important text (like your script) right next to your compositions!

Scripty preview

I got to learn how to better lay out script UIs and you get a free script! Perhaps in the future there will be a paid version that will swap selected text into a layer or something. But for now, this is it. For some reason AE text boxes support rich text too, so if you paste in text that's bold or italic that'll be shown also.

The only caveat is that you download it through gumroad so I can get an idea of how it's doing. It's free and pay what you want, so you can download it without having to put in any contact info! You will have to enter 0 for the amount though! Anyway, I hope you find it useful!

Get it here.


Joe Clay | Jan 25, 2016

Here are some of the useful expressions included with Quiver.

//Autofade: Add to opacity
transition = 8;       // transition time in frames
if (marker.numKeys<2){
tSecs = transition / ( 1 / thisComp.frameDuration); // convert to seconds
linear(time, inPoint, inPoint + tSecs, 0, 100) - linear(time, outPoint - tSecs, outPoint, 0, 100)
linear(time, inPoint, marker.key(1).time, 0, 100) - linear(time, marker.key(2).time, outPoint, 0, 100)
//Countdown Timer (apply to Source Text)
t = Math.floor(time);
s = 240 - t;
minutes = Math.floor(s/60);
seconds = s-(minutes*60);
if(seconds < 10)
    seconds = '0' + seconds;
minutes + ':' + seconds;
//Inertial bounce
amp = .1;
freq = 2.0;
decay = 2.0;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
if (n == 0){ t = 0;
t = time - key(n).time;
if (n > 0){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
//Apply to Time Remap
pos = transform.position;
delay = -1; //in seconds
x = Math.pow(pos[0]-960,2);
y = Math.pow(pos[1]-540,2);
d = Math.sqrt(x+y);
value + linear(d,0,1102,0,delay);
// Spin (rotate at a constant speed without keyframes)
veloc = 360; //rotational velocity (degrees per second)
r = rotation + (time - inPoint) *veloc;
//Moves things in a spiral (apply to position)
rMax = 240; //maximum radius
decay = 0.3; //decay
freq = 6; //frequency
aStart = 0; //start angle offset
aRate = 220; //rotation rate
offsetFactor = 1000; //smoothness
r = rMax/Math.exp(time*decay);
a = degreesToRadians(aStart + aRate*time);
offset = (r/offsetFactor)*Math.sin(freq*time*Math.PI*2);center + [Math.cos(a),Math.sin(a)]*(r + offset);
// Throw (move at a constant speed without keyframes)
veloc = -10; //horizontal velocity (pixels per second)
x = position[0] + (time - inPoint) *veloc;
y = position[1];

I hope these scripts can help you out in your work! Keep an eye on this section for more useful tools!