Learn how to create complex animations with expressions.
WHY?
Expressions allow you to create animations that would be impossible to set up otherwise. A whole set of new tools and techniques will make you faster, better and stand out from the crowd.
Practical: Everything you learn in this course helps with your everyday work.
HOW? In this self-paced course, you learn all the basics first. Then a variety of techniques you can build on.
I explain every step along the way at an easy-to-follow pace.
Get access to a private community. Ask questions. Get feedback. Meet other students.
WHAT?
We start from zero!
Your foundation: After getting to know values, arrays, and expression controls, we go through a list of basic expressions and use them to create procedural animations.
We explore responsive animations that react to the comp size. And we use the “sampleImage” expression, to access the color data of layers and make other layers react to it.
Responsive animations
We create dynamic text animations and learn how to pin anchor points.
We use the "index" expression to create complex repetitive animations quickly.
Repetitive techniques
By the end of the course, you will be able to create animations, similar to the Course Intro Animation. Mostly with expressions.
+ NEW BONUS LESSONS EVERY MONTH!
SKILL LEVEL
Beginner – Intermediate. You already know your way around After Effects.
IN-DEPTH
4 hours of video instruction. 30 lessons, split into 5 modules.
REQUIRED SOFTWARE
After Effects 18+ No third-party plug-ins. (I use After Effects 23 in the course)
COURSE LANGUAGE English
MONEY BACK GUARANTEE If you are unhappy with the course, request a refund within 14 days after the purchase and get every cent back.
PRIVATE COMMUNITY
Meet your peers, show your work, connect and get feedback.
Coming in July:
In a new lesson, we explore how ChatGPT can help writing expressions.
Hey! My name is Manuel! I've been using After Effects for almost 20 years. For many years I avoided expressions until I realized how incredibly helpful they are. Since then, they slowly but steadily found their way into my workflow. Creating unique designs and animations, starting with a black screen is magic for me. As a Motion Designer, I have transitioned between being employed and freelancing several times. I have worked on large-scale projects as an Art Director, and on small projects by myself. I never studied design or animation. Instead, I learned everything I know from online courses, YouTube, Google, and books. Online is the best place to quickly learn things you are interested in. Motion Design is changing so fast that traditional universities and schools often can't keep up.
Curriculum:
MODULE 1: The Foundation We start from zero with tips and tricks for writing clean code. Say hello to arrays, values, and variables. As well as settings and options that you should know. As a warm-up, we create a simple progress bar.
Open Lessons Overview
LESSON 1:
The first lesson is about arrays and values. And we go through some settings and options you need to know. Finally, I have some tips for you.
LESSON 2:
We link values to a slider control, use a text layer to display its value, and use the “Math.round” expression to round the numbers. We create a simple progress bar.
LESSON 3:
Introduction to variables. We link properties to each other and use variables to adjust and define values.
MODULE 2: Basic Expressions We go through a whole list of basic expressions like the "wiggle", "time”, “loop”, “linear” and the “random” expression. We use them right away, creating procedural animated backgrounds and textures. We use the type tool in a creative way in combination with the "random" expression. The "random" expression forms a sequence of shapes out of a list.
We animate several shapes with just one Slider Control and refine the progress bar from the beginning.
Open Lessons Overview
LESSON 4:
Introduction to the “wiggle” expression. We add it to one and two-dimensional properties and control its frequency with a Slider Control.
LESSON 5:
We use the “wiggle” expression and the 4-Color Gradient to create a procedural animated background. Then we use the Posterize, Turbulent Displace, and Mosaic effects to adjust the style of it.
LESSON 6:
Introduction to the “time” expression. We add it to one and two-dimensional properties using variables.
LESSON 7:
Introduction to the “posterizeTime” expression. We create a procedural animated texture using the “time” and “posterizeTime” expressions in combination with effects. We add scribbled text to it.
LESSON 8:
Introduction to the “random” expression. We explore different ways to use it.
LESSON 9:
We use a text layer and the "random" expression in a creative way.
LESSON 10:
Introduction to the ”gaussRandom” expression.
LESSON 11:
Introduction to the ”seedRandom” expression.
LESSON 12:
We create a list of four simple shapes and use the “random”, “posterizeTime” and “seedRandom” expressions and the “keys” expression to create an infinite sequence out of it. We define a color range to colorize the shapes. I show you a second method using time remapping.
LESSON 13:
Introduction to the “loop” expression, its types, and modifiers.
LESSON 14:
Introduction to the “linear” expression. We use one Slider Control to animate two shapes.
LESSON 15:
We use the “linear” expression to animate several shapes with one Slider Control. We use the “loop” expression to animate it.
LESSON 16:
In the final lesson of this module, we open the basic progress bar from the beginning again and take it to the next level using a lot of basic expressions.
MODULE 3: Responsive Animations We take a look at responsive animations. The idea behind it? Elements aren’t defined by pixel values but respond to the composition size for example. Your animations automatically adapt to any format.
We use the “sampleImage” expression to read out the color values of a layer. Shapes respond to the brightness channel of a colour for example and adapt their behavior.
Open Lessons Overview
LESSON 17:
In this first lesson of Module 3, we create a responsive transition using the “valueAtTime” expression. The transition automatically adapts to any composition setting.
LESSON 18:
Introduction to the “sampleImage” expression. We use the expression to create a color picker. Then we link it to the fill property of a text layer.
LESSON 19:
We use the “sampleImage” expression to create a responsive dock animation. We use a Gradient Ramp and its lightness channel to influence the scale of a shape. We use the “rgbToHsl” expression to refer to the lightness channel.
LESSON 20:
We reuse the procedural dock animation and create a responsive grid out of it. We add the "sampleImage" expression to the rotation, scale, and opacity properties.
MODULE 4: Dynamic Text Animations We dive deep into dynamic text animations and use the “sourceRectAtTime” expression to read out the width and height of shape layers.
Learn how to align anchor points using expressions and how to build rigs for easy adjustments.
Open Lessons Overview
LESSON 21:
Introduction to the “sourceRectAtTime” expression. We use it to return the dimensions of a text layer. We animate a basic dynamic text animation and pin the anchor points of the shapes.
LESSON 22:
We get into some of the challenges you face, like overshoots, ascenders, and descenders, and how to solve them.
LESSON 23:
We add padding to the background shape.
LESSON 24:
We add more expression controls and build a rig.
LESSON 25:
Introduction to the “if / else” expression. We add a second text layer and write an “If/else” statement to get the width of the longest text line.
MODULE 5: Repetitive Techniques We use the "index" expression and the "valueAtTime" expression to create repetitive animations easily and quickly. We create a spiral animation rig, which is easy to adjust. We delay animations based on a random value. And we create a random particles swarm.
Open Lessons Overview
LESSON 26:
Introduction to the “index” expression. We explore the possibilities of using it with different properties.
LESSON 27:
We create a spiral animation rig using the “index” expression and Slider Controls. Once set up, it is easy to adjust it.
LESSON 28:
In this lesson, we offset animations using the “index” expression" and the “valueAtTime” expression.
LESSON 29:
We randomly offset animations and control the overall time delay with a Slider Control.
LESSON 30:
We set up a random particle swarm. Controlled by Slider Controls and “wiggle”, “random”, “gaussRandom”, seedRandom, and “time” expressions.
BONUS: Course Intro Animation Breakdown In this video I break down the process of how I created and animated the intro animation of this course.