Getting Started with Expressions
Last update: 19 January 2024
Last updated
Was this helpful?
Last update: 19 January 2024
Last updated
Was this helpful?
Welcome to my comprehensive guide on JavaScript and After Effects Expressions! This page is designed to be your one-stop resource for learning, enhancing, and mastering the art of JavaScript, particularly in the context of Adobe After Effects.
Documentation
(PDF)
Tutorials
by Dan Ebbert
Francois Lefebvre
Resources
The key to mastering coding expressions lies in consistent practice within your projects. A fondness for math can be a significant advantage, as coding often resonates with those who enjoy mathematical concepts and organized thinking.
To kickstart your journey, here's a structured learning path I recommend:
Practice Writing Your Functions: Challenge yourself by writing your own functions/code solutions, applying the concepts you've learned.
Refine Your Code: Aim to write cleaner, more efficient code. Practice using advanced array methods like map, reduce, and filter, and familiarize yourself with arrow functions for more concise code.
An alternative course to consider is the School of Motion's Expression course, although I haven't personally taken it. Notably, my improvement in expressions largely came from a scripting course from FXPHD.
Personally, I really enjoyed Mathematics, it was my strongest and favorite subject in school. I love solving riddle and discovering patterns and that is how I see expressions: They are just are fun riddles. Usually I would get an idea about an expression to animate or design something, and I would spend lots of time and effort figuring it out even if I was not going to use for any current projects. Sometimes, I am unable to sleep because i'm thinking of coding ideas. Hence, fun is an element when it comes to learning!
There are just way too many expressions to write or remember, that is why I have this wiki site to house everything. I recommend anyone who want to get good at expression to start their own wiki page and curate your own code snippets you found or wrote yourself. You can use Gitbook like me or Google Sheets like JR Canesto/Ordinary Folk.
When I first started, I would type out expressions from tutorial and avoid copying and pasting. Even if I do not understand what I am typing, I am building the coding ability into my subconscious.
I sensed that people think that writing long lines of complex expression code will yield amazing animation and design. In truth, that is not the case. The adage "Less is More" still applies when it comes to programming and coding. What we should aim for instead when writing expressions (or anything actually) is Profound Simplicity (James Clear) or Informed Simplicity (architect Matthew Frederick) .
Basically, Everything should be made as simple as possible, but no simpler (Albert Einstein).
, NoSleepCreative
Start with my : This will give you a quick introduction to the basics of expressions.
Dive into : Progress to learning how to implement expressions into your animations in various ways.
Not necessarily, while a foundation in JSX helps, you can easily learn that as you are learning expressions. I often refer to to look the the functions documentation. There are a lot of them but you only need a handful eg. variables, arrays, string, operators, loops, conditional, function, math, or random. If you can understand these concepts, writing expressions can be a breeze.
Absolutely NO. You do not have to be good, you just need to know the important ones (eg. Ignore Scale inheritance from Parent). Most of my (with the exception of Ordinary Folk's ones) uses basic expression to do make things look "complex". Here are some examples:
: uses single expression of valueAtTime
: uses a detailed wiggle function
by Jose Pena 32-36s: uses "Ignore scale rom parent"
Your main goal when learning expressions is not mastery but. Just like learning a foreign language, the goal is not spew out fanciful words but rather to understand and communicate with one another. In our context, we want to be able to read expression code or algorithms, understand their functions, and modify them. You may not necessarily write intricate functions yourselves, but you can at least know how to source expressions online and utilize them for your projects, or communicate to a more code-savvy artist what you are trying to develop.
I do recommend my "" course on Domestika. It offers specialized training in coding within After Effects, tailored for those keen on mastering advanced motion design techniques.