Back to Blog Index

Six Essential Expressions for Creative Coding in After Effects

No items found.

Unlocking the Power of Expressions in Adobe After Effects

Expressions are a motion designer's secret weapon. They can automate repetitive tasks, build flexible rigs, and extend your capabilities far past what is possible with keyframes alone. If you've been looking to add this powerful skill to your MoGraph tool kit, your search is over.

Our Expression Session course, taught by Zack Lovatt and Nol Honig, will show you when, why and how to use Expressions in your work; and this article will break down the top Expressions for expediting your workflow — whether you enroll in Expression Session or not.

Never used Expressions before? No problem. Read on, and you'll be ready.

som_six-must-know-Expressions-Creative-Coding-After-Effects.jpg

In this article, we'll explain Expressions, and why they're important to learn; share an Expressions project file so you can practice; and guide you, step by step, through six must-know Expressions we compiled after informally surveying some After Effects experts.

WHAT ARE AFTER EFFECTS EXPRESSIONS?

Expressions are snippets of code, using the Extendscript or Javascript language, to alter After Effects layer properties.

When you write an Expression on a property you can start establishing relationships between that property and other layers, the given time, and Expression Controllers found in the Effects & Presets window.

The beauty of Expressions is that you don't need to be proficient in coding to start using them; most of the time you can get away with using a single word to make major changes.

Plus, After Effects also comes equipped the pick-whip functionality, allowing you to automatically generate code to define relationships.

WHY ARE EXPRESSIONS IMPORTANT TO LEARN?

Expressions are easy to start using, automate simple tasks, and offer immediate and high return with minimal effort.

Each Expression you know is a time-saving, work-simplifying tool. The more Expressions in your tool kit, the better suited you are for After Effects projects — and especially those with tight deadlines.

barn-images-t5YUoHW6zRo-unsplash-Smaller.jpg

HOW DO I PRACTICE WORKING WITH EXPRESSIONS?

If you want to experiment with the code linked to the artwork in this article, download the project files. We've left several notes throughout to serve as a guide.

Pro Tip: When we open up another motion designer's project folder, we click every layer and press E twice to view any Expression the artist/creative coder may have written into the layer. This allows us to understand the creator's logic, and reverse engineer their project.

{{lead-magnet}}

SO, WHICH EXPRESSIONS SHOULD YOU LEARN FIRST?

We informally surveyed our motion designer friends, and compiled this list of six must-know After Effects Expressions:

  1. The Rotation Expression
  2. The Wiggle Expression
  3. The Random Expression
  4. The Time Expression
  5. The Anchor Point Expression
  6. The Bounce Expression

THE ROTATION EXPRESSION

Rotation Expression AE-Article Thumbnail.png

By using an Expression on the rotation property, we can instruct a layer to rotate by itself, as well as dictate the speed at which it rotates.

To use the Rotation Expression:

  1. Select the layer you want to rotate and press R on your keyboard
  2. Hold ALT and click the stopwatch icon to the right of the word "rotation"
  3. Insert code time*300; in the space that appeared to the bottom right of your layer
  4. Click off the layer

The layer should now be spinning, quickly (if the layer isn't spinning and you received an error, make sure that the "t" in time is not capitalized).

To adjust the speed, simply change the number after time*.

To learn more:

THE WIGGLE EXPRESSION

Wiggle_Expression_in_After_Effects_Thumbnail.png

The Wiggle Expression is used to drive random movement based on user-defined constraints; the complexity of the constraints determine the difficulty of coding the Expression.

To write the most basic Wiggle Expression code, you'll merely need to define two parameters:

  • The frequency (freq), to define how often you want your value (number) to move per second
  • The amplitude (amp), to define the extent to which your value is allowed to change above or below the starting value

In layman's terms, the frequency controls how many wiggles we'll see each second, and the amplitude controls how far the object (layer) will move from its original position.

Written out, without values, the code is: wiggle(freq,amp);

To test it out, plug in the number 50 for the frequency, and the number 30 for the amplitude, to create code: wiggle(50,30);

To learn more, read this article on the Wiggle Expression in After Effects. It features more visual examples, as well as a more advanced Expression that loops the wiggle.

THE RANDOM EXPRESSION

Random Expression tutorial in After Effects Thumb.png

The Random Expression is used in After Effects to generate random values for the property to which it's applied.

By adding the Random Expression to a layer property, you instruct After Effects to choose a random number between 0 and the value defined in the Random Expression.

The most basic form of the Expression is written: random();

If, for example, you wanted to apply a Random Expression between 0 and 50 to a scale layer, you would select the layer and then type in the code random(50);

Random Scale.png

But that's not all. There are actually a variety of Random Expressions in After Effects, including:

  • random(maxValOrArray);
  • random(minValOrArray, maxValOrArray);
  • gaussRandom(minValOrArray, maxValOrArray);
  • seedRandom(seed, timeless = false);

You can even use the Random Expression to let After Effects offset and choose when the animation of individual layers should start:

THE TIME EXPRESSION

Time.png

The Time Expression in After Effects returns a composition's current time in seconds. The values generated by this expression can then be used to drive movement by connecting a property value to the Expression.

If you doubled the Time Expression, the code would be: time*2;, and, for example, eight seconds would pass in a four-second composition:

To learn more, read this article about the Time Expression. It includes lots of gifs to help clarify any confusion, as well as an explanation of valueAtTIme(); for the index of a layer, which you can use to duplicate repeatedly, with a unique delay for each layer.

THE ANCHOR POINT EXPRESSION

Anchor Point Expressions Thumbnail.png

The anchor point in After Effects is the point from which all transformations are manipulated — the point at which your layer will scale, and around which it will rotate.

Using the Anchor Point Expression, you can lock your anchor point to the:

  • Top Left
  • Top Right
  • Bottom Left
  • Bottom Right
  • Center
  • Offset X or Y with a Slider Controller

Using Expressions to control the anchor point is especially useful when building title templates and lower thirds in creating .MOGRT files

Top left width height example-01.png

If you want to lock the anchor point to a layer's corner or keep it centered, you can place the Expression on the anchor point, as follows:

a = thisComp.layer("Text1").sourceRectAtTime();
height = a.height;
width = a.width;
top = a.top;
left = a.left;

x = left + width/2; y = top + height/2; [x,y];

This defines the top, left, width and height of the layer, and then uses addition and division to pinpoint the center of the layer.

To learn more about all the ways this Expression can be used, along with the reasoning behind the math, read this article. (It also explains how to pre-compose your layers for further effect.)

THE BOUNCE EXPRESSION

Bounce Expression-Thumbnail-v10-01.png

While the Bounce Expression is much more complex, it only takes two keyframes to create a bounce.

After Effects interpolates the velocity of your layer's movement to help determine how the bounce will work.

Here's the full Bounce Expression for you to copy and paste:

e = .7; //elasticity
g = 5000; //gravity
nMax = 9; //number of bounces allowed
n = 0;

if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0){
t = time - key(n).time;
v = -velocityAtTime(key(n).time - .001)*e;
vl = length(v);
if (value instanceof Array){
  vu = (vl > 0) ? normalize(v) : [0,0,0];
}else{
  vu = (v < 0) ? -1 : 1;
}
tCur = 0;
segDur = 2*vl/g;
tNext = segDur;
nb = 1; // number of bounces
while (tNext < t && nb <= nMax){
  vl *= e;
  segDur *= e;
  tCur = tNext;
  tNext += segDur;
  nb++
}
if(nb <= nMax){
  delta = t - tCur;
  value +  vu*delta*(vl - g*delta/2);
}else{
  value
}
}else

value

After copying and pasting in After Effects, you'll need to customize three parts:

  • Variable e, which controls the elasticity of the bounce
  • Variable g, which controls the gravity acting on your object
  • Variable nMax, which sets the maximum number of bounces

If you set these variable as follows...

Small Bounce Snippet.png

You'll create the following bounce, with high elasticity and low gravity:

To learn more about elasticity, control gravity and more, read this comprehensive article on the Bounce Expression.

Even More Expressions

Interest piqued? Then dig deeper with our Amazing After Effects Expressions tutorial.

Useful_Expressions_in_After_Effects_Thumbnail.jpg

Master the Art and Science of After Effects Expressions

Do Expressions still feel like an impossible second language you just can't seem to conquer?

Expression Session, a beginner's course on extend-script and javascript in After Effects, is your answer.

Taught by programming master Zack Lovatt and award-winning teacher Nol Honig, Expression Session builds the foundation you need, using exercises designed for visual learners to decipher the technicalities of code.

In eight weeks you'll be dreaming in script and impressing all your friends with your coding wizardry. Plus, After Effects will feel like a totally new program, with endless possibilities.

Learn more about Expression Session >>>

EXPLORE ALL COURSES

Dive into real-time 3D with our Unreal Engine beginner's course by Jonathan Winbush. Master importing assets, world-building, animation, and cinematic sequences to create stunning 3D renders in no time! Perfect for motion designers ready to level up.

Explore this Course

Unlock the secrets of character design in this dynamic course! Explore shape language, anatomy rules, and motifs to craft animation-ready characters. Gain drawing tips, hacks, and Procreate mastery (or any drawing app). Ideal for artists seeking to elevate their craft.

Explore this Course

Elevate your freelance motion design career with our guide to client success. Master a repeatable method for finding, contacting, and landing clients. Learn to identify prospects, nurture leads, and develop a thriving freelance philosophy amidst chaos.

Explore this Course

Rev up your editing skills with After Effects! Learn to use it for everyday needs and craft dynamic templates (Mogrts) for smarter teamwork. You'll master creating animated graphics, removing unwanted elements, tracking graphics, and making customizable templates.

Explore this Course

Stand out with Demo Reel Dash! Learn to spotlight your best work and market your unique brand of magic. By the end, you'll have a brand new demo reel and a custom campaign to showcase yourself to an audience aligned with your career goals.

Explore this Course

Illuminate your 3D skills with Lights, Camera, Render! Dive deep into advanced Cinema 4D techniques with David Ariew. Master core cinematography skills, gain valuable assets, and learn tools and best practices to create stunning work that wows clients.

Explore this Course

Master After Effects at your own pace with Jake Bartlett's beginner course. Perfect for video editors, you'll learn to create stylish animated graphics, remove unwanted elements, and track graphics into shots. By the end, you'll be equipped for everyday AE needs and more.

Explore this Course

Revolutionize your Premiere workflow with customizable AE templates! Master creating dynamic Motion Graphics Templates (Mogrts) in After Effects to speed up your team's work. By the end, you'll craft easily-customizable templates for seamless use in Premiere Pro.

Explore this Course
Your download is in your inbox!!!
Check your email (spam, too) for the download link!
Please check the spam folder if you don't see the message within a minute or two. Google likes to hide your downloads, sometimes.
Oops! Something went wrong while submitting the form.

Not sure where to start?

If you’re a beginner, here are some great courses to help you get started:

After Effects Kickstart

Dive into the fundamentals of motion design with our most popular (and recently updated) After Effects course.

LEARN MORE

Photoshop + Illustrator Unleashed

Master the basics of Photoshop and Illustrator and gain invaluable insights in this introductory level course.

LEARN MORE

Design Kickstart

An introduction to the design principles behind all great work.

LEARN MORE

More Advanced?

If you’re a more advanced student looking to up your game, here are some great options:

Animation Bootcamp

Learn the art and principles of creating beautiful movements in Adobe After Effects.

LEARN MORE

Design Bootcamp

Learn to design for motion in this intermediate-level, project-based course.

LEARN MORE

Cinema 4D Basecamp

Learn Cinema 4D from the ground up in this exciting introductory C4D course.

LEARN MORE

Now is the time to learn the skills you need to advance in your motion design career: