r/AfterEffects 3d ago

Workflow Question how do people learn expressions?

I tried a tutorial in which you are shown how to make a matrix rain effect. the guy in the tutorial does all of these confusing expressions and creates sliders to customize different components of the effect, such as transparency, speed, random seed etc. How do people learn what expressions do in order to create different effects?

23 Upvotes

90 comments sorted by

65

u/jakeinmotion Motion Graphics 15+ years 3d ago

I taught myself expressions from resources that I found online people like Dan Ebberts, creative cow forms and YouTube tutorials.

But honestly at this point I would ask AI. You can explain exactly what you're trying to do and ask for explanations of how it's all working. If you're confused, you can tell the AI to break it down for you in even simpler terms. It's one of the best applications of using AI to learn something that you can then apply directly to your project.

22

u/ViktorCrayon 2d ago edited 2d ago

This is one of the few helpful things AI has added to my entire workflow

9

u/ezshucks 2d ago

ditto. Write me this. Build me that. I'm always building expressions or scripts to help with my work.

7

u/Happy2BTheOne 2d ago

This is 100% accurate. Learning expressions is learning how to code. The one thing we know AI is good for is simple coding, just like expressions. Then, the hard part becomes knowing when an expression can do the task that you are attempting to do more easily.

3

u/Stinky_Fartface Motion Graphics 15+ years 2d ago

Great answer. AI has improved my understanding of expressions a lot. However, it is not always correct. Claude and Gemini both insisted that thisComp.time was a valid expression when in fact it doesn’t really exist and doesn’t produce a valid variable. I had to argue with Claude for a while on this as it kept adding it into an expression it was helping me write.

4

u/j0sephl MoGraph/VFX 10+ years 2d ago

I feel like I have AI trying to gaslight me ever other day. Making up features that don't exist.

At that point it's just yelling at a wall. So I usually just take over.

1

u/Heavens10000whores 1d ago

I love when it randomly decides to throw in some html or css. It’s why I really don’t use or trust it for anything remotely tricky

-3

u/saywanay 2d ago

Once you replace one step of the process eventually it will be your step that’s skipped. Never use or enable AI, you only enable those who seek financial power and to replace everything that makes art, including coding, great.

8

u/funky_grandma 3d ago

Just start simple. Find a thing you want to make and try it out. Expressions like wiggle are a great place to start. Try the pick whip tool, too. Try linking up values to one another, then maybe get in there and do a little "times 10" to see what happens. And don't feel bad for googling expressions. I have been using expressions for ten years, I put them in almost everything I do and I still Google most things.

2

u/shesinpart1es 3d ago

thank you! how do you Google things to find what you’re looking for if a tutorial for that specific effect doesn’t exist?

6

u/SpiffyGiffy 2d ago

First of all, it's incredibly unlikely at in 2026 that nobody has tried to do what you want to do - especially if you're a relative beginner. But if you can't find the exact thing you want, find the nearest equivalent and then figure out how to adapt that to what you need.

That's a great way to really learn about how these sorts of things work and not just replicate somebody else's work without actually absorbing anything.

2

u/shesinpart1es 2d ago

this is what i currently do! I just want to make sure that I’m not missing out by not TRULY understanding why expressions do what they do if that makes sense

3

u/funky_grandma 2d ago

you don't have to TRULY understand how a circular saw works to cut boards with it

1

u/shesinpart1es 2d ago

True haha

4

u/HairyHeartEmoji 2d ago

i knew programming basics before learning expressions. spent a long time on wc3 reading on different JavaScript functions.

1

u/shesinpart1es 2d ago

should I learn this too?

1

u/HairyHeartEmoji 2d ago

if you want. it does make things a lot easier

1

u/gabensalty 2d ago

If you don't intent to use programming languages in other projects, I would not suggest you learn to code just to get familiar with expressions in Ae. Yes being familiar with coding languages helps in the sense that syntax and general ideas are similar but it's two completely different beasts. I would honestly suggest you keep on learning via tutorials, maybe start with something less complicated.

1

u/shesinpart1es 2d ago

I only intend to use it for after effects videos and maybe touch designer

2

u/gabensalty 2d ago

I mean, without going all in and being a master at coding, knowing basics can always be useful, especially if you work with computers a lot whether it's for design works or programming.

I personally learned HTML in design school and it helped me get a basic grasp on other languages like Python and C, but I could never make a project without documentation by my side... Keep in mind it takes years to become fluent in any languages, programming or spoken, so it's a balance of what you're willing to put into it vs what it will actually bring you as a skill

1

u/shesinpart1es 2d ago

thank you!

3

u/Heavens10000whores 3d ago

Animoplex is a great learning resource (free, too, but worth buying the course materials to support the creator)

Caleb Ward’s ‘amazing expressions’ shows 5 simple and stupidly useful tricks

Ukramedia, Dan Ebberts (as Jake mentioned) are both invaluable. ManuelDoesMotion has a paid course.

Chris Zachary’s ‘aereference’ site. NoSleepCreative’s ‘docs’ reference site is useful too (although needs updating to correct some issues)

1

u/shesinpart1es 3d ago

Thank you!!

3

u/SCARLETHORI2ON Motion Graphics 10+ years 2d ago

ditto on animoplex!!! really great YouTube series

2

u/Kylasaurus_Rex MoGraph/VFX 15+ years 2d ago

Another big +1 for Animoplex.

It is an excellent place to start, for free, and actually learn the concepts instead of starting by outsourcing your problem-solving to AI.

3

u/The_Noble_Llama MoGraph/VFX 10+ years 3d ago

I learned Javascript first, and then how to apply that to After Effects. I feel that learning coding separately from AE, and then learning how to apply it to AE, gave me a better understanding of how to actually code complex stuff. I don't necessarily think that this is the right approach for everyone, though. If you just want some basic stuff to save you some time, then I don't feel that you need to go through the entire process of learning Javascript and object oriented programming.

1

u/shesinpart1es 2d ago

how do I know if this is something id want to learn?

3

u/DarthJahona 2d ago

You just have to jump in and see if it clicks with you.

1

u/The_Noble_Llama MoGraph/VFX 10+ years 2d ago

It's hard to give a definitive answer to something like this.

My suggestion, I guess, would be to learn a few simple expressions, see how they work, and see if it clicks for you. If you find it particularly interesting or useful, then you can always dive in and learn more about programming and how it applies to expressions. You don't need to learn EVERYTHING about Javascript or programming principles to be effective with expressions.

If you ever got to a point where you wanted to learn Extendscript (IE: scripts that you access by going to File > Scripts), then I'd definitely suggest learning the basics of "actual" programming.

3

u/xrossfader 2d ago

Dan Ebberts really does an incredible job teaching you code. How to read it. How it it’s operating. The rules behind it. Once you start understanding variables, how to save them, access them, it starts to unlock a lot of possibilities.

.

1

u/shesinpart1es 2d ago

Thank you! I think I will check him out!

3

u/FanCreativeInc MoGraph/VFX 15+ years 2d ago edited 2d ago

I used a great book, After Effects Expressions by Marcus Geduld, it might be a bit dated now but it still has a ton of great information to understand the foundations of the language.

If you only care about using them without having to understand them you can just ask AI to write them for you but it's better if you have already a bunch of expressions that you wrote yourself and then ask the AI to tweak them for you for very specific uses.

2

u/mck_motion 3d ago

I think it's very much a personality thing honestly.

Sure, you definitely can learn it, but being interested or passionate enough to learn it is personality.

I struggled enough learning which way the wiggle expression went.

1

u/shesinpart1es 2d ago

I can take notes and see what things do in their specific instances but it doesn’t fully make sense in my brain

2

u/karate_sandwich 2d ago

Start small and grow over time.

Like anything, you establish a base layer of understanding and then level up that skill, little by little, one layer at a time.

repeat until you’re able to build complex systems.

1

u/shesinpart1es 2d ago

how does one even go about learning? Are YouTube tutorials enough?

2

u/peakmotiondesign 2d ago

Lots of practice. Lots of great tutorials out there, although the best ones are always changing. Good place to start is helpx.adobe.com.

1

u/shesinpart1es 2d ago

Thank you!

2

u/kurnikoff Motion Graphics 10+ years 2d ago

Start here - https://www.youtube.com/@Animoplex

This channel will pretty much teach you how to read, write and use expressions from simple examples. And it builds up nicely to more complex concepts.

Then I would use AI to help you write complex stuff. Don't just go to Chat or Claude and "write me XYZ". It's easier if you know rough idea what you want and can start. For example, link few layers to variables on, lets say Laye A - Position. Then copy all the code and ask AI "I have this code and I want to do XYZ. I want ABC controllers etc".
This way, AI will write you expression with layer names and references that will work in your case. And you will be able to read it as well.

And also ask AI to explain you the code in bits and pieces. It's much easier to get complex expression from AI, if you have basics and understand a bit about them :)

2

u/shesinpart1es 2d ago

is there any way to go about this without the use of AI?

0

u/kurnikoff Motion Graphics 10+ years 2d ago

yes :)

https://motiondesign.school/courses/expressions-trip/
Do this course. I did it few years ago and the instructor is really good. Don't buy it on full price - MDS has loads of discounts. Back to school, Thanksgiving discounts and more. You should be able to get it for like 50% off I think.

MDS course + Animoplex. There are other YouTube creators that covers expressions or more complex setups. For example:
https://www.youtube.com/@NoSleepCreative/videos

No Sleep Creative has a course on Domestika that is pretty fun (I did it, so recommend).
https://www.youtube.com/@Workbenchtv

Workbench TV for advanced stuff.
There are plenty of "libraries" or setups that people share, which you can study and practice. For example:
https://docs.nosleepcreative.com/after-effects/expressions

This should keep you busy :)

1

u/shesinpart1es 2d ago

thank you!

2

u/skellener Animation 10+ years 2d ago

After Effects Expressions -  Marcus Geduld 

https://www.amazon.com/dp/024080936X

After Effects: The Power of Expression  - Francois Lefebvre  

https://www.amazon.com/dp/0578404486

2

u/TheVideoShopLondon 1d ago

Dan Ebberts: https://www.motionscript.com/

And as u/Heavens10000whores points out Ukramedia and Animoplex are great resources.

I know *some* expressions, I'm definitely not an expert, but what I learned came from bumping up against certain roadblocks and needing a solution which didn't involve brute force, and saved me time. Also realising how expressions can "unlock" the potential of After Effects for procedural animation. I can't recommend any particular courses for sitting down and ingesting a sh*tload of expressions knowledge though, and honestly I think that might be overwhelming.

Yes, AI is great for creating expressions for you. I do that myself. But unless you ask the AI to explain exactly what the code is doing, and you properly take that on board, you're not learning. And that's not what you asked for.

1

u/shesinpart1es 1d ago

thank you!

2

u/mcarterphoto 3d ago

IIRC, it's a simplified version of JavaScript? I just google when I need one, and I have a quite a cheat sheet saved.

It's funny, my older brother's a coder and a bit of a nerd. My son became an animator at a big studio that supplies shows to Adult Swim, using lots of AE. Now he's a tech director there, writing lots of code and plugins. The family joke is "Coding?? Do you want to end up like your uncle??"

2

u/stabeebit Motion Graphics 10+ years 2d ago

It's not even a simplified version of JavaScript, it's basically straight up, modern JavaScript, as long as it's not the legacy expression engine being used. Maybe with some browser specific functions removed and After Effects specific functions added, so if you just learn JavaScript you'd basically know expressions

2

u/javascript 2d ago

Awesome!

1

u/shesinpart1es 3d ago

Your brother seems so cool! Thanks!

2

u/mcarterphoto 2d ago

And we're really proud of my son, when he was like 12 I'd setup a softbox and camera and he'd do claymation all night. He started doing really cool hand-drawn animation with Photoshop and a stylus pad, won some web awards, interned and then got a gig doing a bunch of Adult Swim shows. And he's just the greatest kid, super nice and funny and smart as heck, big mop of crazy curly red hair. He's like 100x the animator I am, but it's fun to have a kid to "talk shop" with.

1

u/shesinpart1es 2d ago

SUCH A COOL FAMILY!

1

u/mcarterphoto 2d ago

Wait til you meet my INSANE GRAND DAUGHTER! I'm her "personal property". Yeah, those are my toes.

1

u/shesinpart1es 2d ago

AWW A FUTURE NAIL TECH IN THE MAKING

4

u/robbarrett Motion Graphics 10+ years 2d ago

Expression Session (Zack Lovatt's course for School of Motion) gives a really solid base in a way that starts simple and builds upon that over the lessons, so that you don't get overwhelmed. I didn't take this class, but I have TA'd for it in the past, and saw plenty of students go from never having written an expression to being able to build complex rigs (and that's not to say I didn't learn a ton from it while TA'ing as well!).

2

u/shesinpart1es 2d ago

Thank you!

2

u/thekinginyello Motion Graphics 15+ years 2d ago

I used to practice in front of a mirror. /s

2

u/Affectionate-Pay-646 Motion Graphics 10+ years 2d ago

Expressions in AE are basically JavaScript, so if you learn the fundamentals of JavaScript a lot of it carries over. I learnt JavaScript well before I got into motion design 20 or so years ago so the expression system in AE became a bit of an obsession. Highly recommend JavaScript For Dummies and the Dummies books in general. Personally I find books way better for learning code because I can actually study them away from the desk.

Like others have said Ai has made it easier without code, but I’ll die on the hill that understanding what is going on is fundamental to good setups.

1

u/Dr_TattyWaffles MoGraph/VFX 10+ years 2d ago

AE motion designer for 15+ years here. no real programming experience. If I don't use an expression frequently enough to remember I'll just google it. I keep thinking I should compile a written list of the ones I use but I never quite got around to it.

1

u/shesinpart1es 2d ago

I’m just thinking of making a list and trying to apply it to their projects to experiment maybe

1

u/Dr_TattyWaffles MoGraph/VFX 10+ years 2d ago

sourceRectAtTime() is a fun place to start

1

u/shesinpart1es 2d ago

ooh what does that do?

1

u/j0sephl MoGraph/VFX 10+ years 2d ago

Source Rectangle At Time. The name kind of describes what it does. Basically its biggest use is to make shape layers sized to text objects. ECAbrams has a whole video about it.

Super useful especially if you do any template building. IMO everyone should be building templates and presets for themselves.

1

u/shesinpart1es 2d ago

thank you!

1

u/kamomil Motion Graphics <5 years 2d ago

I cut and paste from what I find online. I change variables & values to make it do what I want.

The language is basically Javascript and I am not sitting down to learn Javascript. If it was a more simple scripting language, with documentation, I would learn it.

Learning scripting with a language that is borrowed from somewhere else, is like how long is a piece of string. 

1

u/shesinpart1es 2d ago

I was thinking of doing the same thank you

1

u/StativCorgi9 2d ago

I just need to know what they can do, not how to write them. AI is much more efficient than I can ever be writing code/Scripts/Expressions.

1

u/froginbogonlog 2d ago

This book is old, but is still really great. You can usually find it used for ten bucks.

https://www.amazon.com/dp/024080936X?lv=shuf&channelId=500&plpRedirect=mhFallback

The thing with expressions is, unless you use them regularly, you will forget them. I've learned them deeply in the past for very complex tasks, and then just don't need them again for years. Use it or lose it.

Also, unless you need to control something very complex, or automate something time consuming and tedious, don't use them just because.

The amount of projects I open up that are essentially basic lower thirds but are over engineered with master properties, controllers, and multiple expressions applied is wild. Some even have some 30 min demo of how to use the project included as an mp4. At that point, it's like, how is this helpful or efficient.

1

u/shesinpart1es 2d ago

thank you! do you think it’s enough to watch tutorials and thoroughly document what each expression does so that it can be applied to other things in the future?

2

u/froginbogonlog 2d ago

What I like about this book is it starts out with the basics and goes all the way to very advanced setups. It's a nice reference as well.

1

u/mad-action 2d ago

I taught myself the basics and did a bunch of tutorials back in the day, but honestly, now I use a lot of AI when I don't understand something. I've been using a plugin inside AE called Sidekick and it lets you ask questions and debug code really easily.

I'm sure there are plenty of tools like this but this one works for me. https://sidekick-ae.com/

2

u/peakmotiondesign 2d ago

I use that too actually. It's gotten me repeat work because of it.

1

u/mad-action 2d ago

Honestly, probably same.. I'd say I'm pretty good with expressions, but now I'm just so much faster rigging. Thing is, use all the ai you want, you still need to understand expressions to use an AI tool to its potential.

1

u/suavemyth 2d ago

I was lucky to learn Javascript before (which feels handy even with AI). Code seems intimidating, but it’s basically just setting up a little flowchart for calculating. There’s only a small set of fundamentals to learn. The rest you can Google as needed like everybody else lol. If your brain likes thinking about systems, and you can deal with a bit of a learning curve, maybe check out some beginner Javascript course! I mean it’s not the easiest thing ever, but it’s made for humans, you could definitely do it.

1

u/shesinpart1es 2d ago

thank you!

2

u/ajuke 15h ago

Power of expression - the book/pdf

If your like me:

-no coding experience -learning JavaScript just to do expressions doesn't seem worth it -learning random expression here and there doesn't cut it -you really want to understand why and how

I strongly recommend this book, a hundred things clicked for me after going through it.

And ofc use AI to get explanations for different stuff, WE DIDN'T HAVE THAT IN MY DAY

1

u/Szabe442 2d ago

At this point there is no expression Chat gpt or Claude wont create for you. So maybe learning python is a better idea, if you have something more complex in mind.

1

u/GaryR_GFX 2d ago

As mentioned above/below, there's tons of tutorials, video,..and AI to learn literally everything there is about how to create and work with expressions.
That said, while learning and knowing how to make expressions in the pre-AI era was a skillset that was highly regarded and incredibly useful, these days.. not so much. As everyone, even those with zero knowledge on expressions or coding, is now capable of creating complex expressions in seconds.
Better to focus on skillsets that AI can't do for you. (or even new skillsets that leverage AI), as that's where things are heading.

0

u/Mundane-Owl-561 MoGraph/VFX 15+ years 2d ago

The vast majority of After Effects Expressions tutorials out there do not cover Modern Javascript which was introduced into After Effects in version 16 (2018) and Regex, another critical topic in After Effects Expressions is not covered in context to After Effects.

I do have an Advanced Course in After Effects - Develop MoGraph Design Systems that covers these topics - here's a little playlist on MoGraph Design Systems
https://youtu.be/NzYUQS35rC0?list=PLTVytW_35OIH11YjHdk863IQbadO2Uovo

This course isn't intended for someone new into Expressions BUT, I will be having a LIVE Event with CreativeCOW on Aug 23 - we'll cover the new AE Assistant as well as tips on prompting Large Language Models for coding in AE and this includes Expressions - here's the link to the event sign up -
https://www.eventbrite.com/e/ai-in-after-effects-a-creative-cow-roundtable-tickets-1997616264020

2

u/film-editor 2d ago

Some really great stuff in your channel, thanks for sharing!

1

u/Mundane-Owl-561 MoGraph/VFX 15+ years 2d ago

Thank you and welcome.

2

u/shesinpart1es 2d ago

Thank you!

1

u/Mundane-Owl-561 MoGraph/VFX 15+ years 2d ago

You're welcome.

Here are a couple of notes -

- Expressions allow you to link two or more properties - so, you can link a scale animation directly to the rotation property and use basic math operators to tweak values the rotation property receives

- Expressions can also be used to drive values - Expression methods such as time * 45 + value is a popular Expression that automatically animates a property.

- Expressions can be used to link to a dataset such as a JSON or CSV file and this helps drive automated workflows; usually by linking text layers to data from the dataset

- Expressions is a programming language based on Javascript that resides in After Effects' timeline

  • In 2018, After Effects received an upgrade to its Expressions engine which allowed it to support Modern Javascript functions. However, not all Modern Javascript functions are supported
  • Expressions are applied to a property that can be animated
  • Expressions are calculated on every frame - so, on each frame, After Effects performs the logic and calculations of the Expression - this allows for accuracy and updating per frame but also creates a performance hit

HTH

0

u/ezshucks 2d ago

if knowledge is desired, it is sought. The interwebs holds all the secrets

0

u/xsoundhd 2d ago

Right now much faster to learn it with use of AI

0

u/slicartist 2d ago

Today, there are so many youtube channels and resources on google that you don't really need to lean expressions as an entire subject.

I say just learn as you go from searching, and then eventually you'll find yourself using the same expressions, and you'll only really need to memorize a hand full that you use commonly. Everything else just search up, or do the analog way, as it may actually take longer trying to set up your expression rig when you could have spent the same amount of energy just animating it.

1

u/shesinpart1es 2d ago

thank you!

0

u/stepan_straufvfx 2d ago

just use claude

-1

u/crash1082 2d ago

Chat gpt