super easy animations – 5 After Effects Expressions
Learn to create professional motion graphic animation in seconds using expressions in Adobe After Effects. These are the top 5 you 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 Expression
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 Expression
Can be applied to any property, but works great on the position to create a natural camera movement.
wiggle(1,50);
Squash and Stretch Expression
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 Expression
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 Expression
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;
Storyblocks
Big thanks to Storyblocks for their support. If you ever need stock footage for your video head over to them! Next to the 4K stock clips, they also have After Effects templates, Premiere Pro presets, overlay effects and so much more. Download unlimited video assets for a single price per year.
Jordy Vandeput
Founder of Cinecom · 2.75M+ subscribers on YouTube
Jordy Vandeput is a Belgian filmmaker who has taught practical filmmaking to millions through Cinecom. He breaks professional techniques down into clear, repeatable steps you can use on your very next project.
28 comments
Jordy - that countdown timer expression is amazing - but I can't figure out how you made an 8 hour timer when AE has a 3 hour duration limit.
Make (3 + 3 + 2) Time Videos and link them in Premier with Music
Thank you jordy. I really like the after effects and cinecom.net. I wish your all the best and do yours things. WE LOVE CINECOME.NET
how can expression study for making
we need an advance course on after effects.
Thank you professor.
Awesome sir
this is good
You and jannik (yannik) had ripped the software
super goooooooooooood bro
Thanks for this great resource! Just curious... I tried copying and pasting the expression for Squash and Stretch, which I was very excited to use. But in After Effects, it produces an error in Line 1 of the code: "expression result must be of dimension 2, not 1". Also, I see a dialog box with the same message, saying the expression is disabled. I have no idea what this error means or how to fix it... I'm not knowledgeable enough about After Effects. I wonder if this is perhaps because After Effects has been updated since this article was written? Maybe it used to work but no longer does? Or maybe there's a typo in it? Has anyone else had this issue? And how do I edit the code so that it works? Thanks so much!
I had this same issue. No luck fixing so far.
The correct code is: 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]