X Course Advisor FREE Course Advisor
Watch Tutorials
After Effects: Expressions Basics

Expressions in After Effects are a powerful but rather scary feature that even many experienced AE artists shy away from, simply because expressions look like computer code. Well, they are computer code, of a sort - in fact, expressions are based on Javascript, much used in Web programming, and like all computer languages and scripts, expressions have a strict syntax. If you don't follow the syntax, the code won't execute, and many find that syntax obscure and unintuitive. 

However, After Effects has tools that help you create useful expressions without having to know the proper syntax or understand the underlying code. In this article, we'll take a brief look at Expressions and show you how to use a simple expression to create an automatic VU meter that appears to respond to an audio track.

Step 1 - What Are Expressions?

An expression in After Effects is a modifier applied to a specific animation property, like Rotation, to either link that property to the values in another property, even in another layer, or to automatically animate that property without using keyframes. 

For example, let's make a simple analog loudness meter in After Effects: create a new comp about 5 seconds long, and add a new long, narrow Solid to it, called Needle - I've made mine 20 pixels wide and 200 pixels high:


Double-click the solid to open it in its Layer window, grab the Pan Behind (Anchor Point) tool, and shift the anchor point for the Needle down to its bottom edge, so the Needle will rotate around its end instead of its middle.

Step 2 - The Wiggle Expression

Now at this point we could add some random Rotation keyframes so the needle rotates around, but a much faster and more flexible way to do that is to use a Wiggle expression, which will automatically rotate the needle randomly.

So, type R to solo the Rotation property for the Needle, then Option-click the Stopwatch for the Rotation property (Option-clicking the stopwatch will add a new expression). When you do, you'll see that the property values for Rotation turn red, meaning they're controlled by an expression, and you'll also see a line of highlighted text in the Timeline saying transform.rotation:

Rotate it

You'll also see some additional interface objects appear under the red property values. Now, that "transform.rotation" text is just a placeholder, reminding us that whatever expression we add will be applied to Rotation. Next, with that text still highlighted, click on the Expression Language Menu arrow that appeared below the red Rotation values when you added the expression and choose Property > wiggle(freq, amp, octaves = 1, amp_mult = .5, t = time). You'll then see that whole "wiggle" line replace the "transform.rotation" line.

setting the wiggle values

If you click away from that text, you'll get an unhelpful error message from After Effects, saying that the expression is disabled. Don't worry about that for the moment; here's what it means.

The words that you see in the parentheses after "wiggle" are the possible arguments, or modifiers, that the wiggle command can take. "Freq" (frequency) refers to the rate of the wiggle, "amp" (amplitude) to the amount of wiggle, and so on. 

For this wiggle expression to work, we have to replace those argument names with actual numbers - as it is, the arguments are just reminders of what can be modified.That's what the error is referring to - that the arguments have to be replaced with real values. In this case, we're going to remove the last three arguments and just modify the first two, which will give us a simple randomized animation.

So, put your cursor inside the parentheses and select and delete everything between them, so you just see this: wiggle().  Then type in 5, 20 inside the parentheses. What we've just done is replace the first two text argument's actual numbers - the position of the numbers, and the comma between them, tell wiggle that the first number is to be applied to freq  - that is, the rotation will wiggle randomly 5 times per second for the length of the comp. The second number 20 in the amp position means that the value of the Rotation will vary plus and minus 20 units (in the case of Rotation, plus and minus 20 degrees). 

Your expression should now look like this:

The expression

And your animation should look something like this:

The wiggle expression randomly rotates the Needle around in a way that simulates a VU meter responding to audio levels. To change this response, just change the two numbers inside the parentheses - a higher first (freq) number will make the needle jitter more rapidly; a higher second (amp) value will cause the needle to swing in a wider arc. 

As you can see, keyframing something like this would require many keyframes, and changing that keyframed motion after the fact would require a lot of tweaking. By using an expression instead, simply changing a couple of values will change the animation completely, and make it much easier to adjust the effect.

Well, that's a basic introduction to expressions. We're going to follow this up with another tutorial on linking this meter to the real amplitude values in an audio track, so stay tuned for that. In the meantime, as always, experiment and have fun!

Continue the joinery with After Effects Expressions in Part 2.

Richard Lainhart

Richard Lainhart | Articles by this author

Richard Lainhart is an award-winning composer, filmmaker, and author. His compositions have been performed in the US, Europe Asia, and Australia, and recordings of his music have appeared on the Periodic Music, Vacant Lot, XI Records, Airglow Music, Tobira Records, Infrequency, VICMOD, and ExOvo labels. His animations and short films have been shown in festivals in the US, Europe, and Asia, and online at ResFest, The New Venue, The Bitscreen, and Streaming Cinema 2.0. He has authored over a dozen technical manuals for music and video hardware and software, served as Contributing Editor for Interactivity and 3D Design Magazines, and contributed to books on digital media production published by IDG, Peachpit Press, McGraw Hill, and Miller Freeman Books. Previously an Adobe Certified Expert in After Effects and Premiere, a demo artist for Adobe Systems, and co-founder of the official New York City After Effects User Group, he was, from 2000-2009, Technical Director for Total Training Productions, an innovative digital media training company based in New York and California.


You must be logged in to post a comment.
Create an Account  Login Now

What is macProVideo.com?

macProVideo.com is an online education community featuring Tutorial-Videos & Training for popular Audio & Video Applications including Adobe CS, Logic Studio, Final Cut Studio, and more.
© 2018 macProVideo.com
a division of NonLinear Educating Inc.