Learn to create professional motion graphic animation in seconds using expressions in Adobe After Effects. These are the top 5 yoiu must know.

Motion graphics are always fun to watch, but creating them can often take hours of work. Luckily there’s this thing called ‘expressions’, which are basically blocks of code. These codes tell your layers how to behave and act. So with some creative codes, we can make stunning animations in seconds!

If you’re new to after effects, we suggest to first watch our introduction and then come back for these expressions.

The expressions below are all covered in the tutorial above and you can simply copy/paste them to your project!

Bounce

First create an animation (ie. scale 100 to 120% or position from left to right). Next apply bellow’s expression to the property you’ve key-framed to make the animation bounce.

n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n--;
}
}
if (n == 0){
t = 0;
}else{
t = time - key(n).time;
}
if (n > 0 && t < 1){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
amp = .06;
freq = 3;
decay = 5.0;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}

Wiggle

Can be applied to any property, but works great on the position to create a natural camera movement.
wiggle(1,50);

Squash and Stretch

Apply it to the scale attribute of any object. Works best on icons or bullet points.
maxDev = 13; // max deviation in pixels
spd = 30; //speed of oscillation
decay = 1.0; //how fast it slows down
t = time - inPoint;
x = scale[0] + maxDev*Math.sin(spd*t)/Math.exp(decay*t);
y = scale[0]*scale[1]/x;
[x,y]

Motion Tail

First animate the position of an object. Then apply bellow’s expression to the position:
delay = 5; //number of frames to delay
d = delay*thisComp.frameDuration*(index - 1);
thisComp.layer(1).position.valueAtTime(time - d)

And this code to the opacity:
opacityFactor = .75;
Math.pow(opacityFactor,index - 1)*100

Now simply duplicate that entire layer (CTRL + D / CMD +D) a couple of times.

Timer Up or Down

Create a text layer and apply the expression to the source text attribute.

//Define time values
var hour = Math.floor((time/60)/60);
var min = Math.floor(time/60);
var sec = Math.floor(time);
var mili = Math.floor(time*60);
// Cleaning up the values
if (mili > 59){ mili = mili - sec*60; }
if (mili < 10){ mili = "0" + mili; } if (sec > 59){ sec = sec - min*60; }
if (sec < 10){ sec = "0" + sec; } if (min >= 59){ min = min - hour*60; }
if (min < 10){ min = "0" + min; }
// no hour cleanup
if (hour < 10){ hour = "0" + hour; }
//Output
hour + ' : ' + min + ' : ' + sec + ' : ' + mili;

VideoBlocks

This video was supported by Videoblocks, an easy to use site full of stock footage, vector images, stock photos, music, sound effects and more.