Welcome! My name is Alan Shisko, and I'm a freelance motion graphics artist working out of Toronto, Canada. I've been very lucky in my career to have had many inspiring teachers, and decided to start this blog to give back to the community that has enriched me both technically and aesthetically. Perhaps my words and images will inspire you to do the same! If you wish, take a minute to view my demo reel at Shisko.com, or view a comprehensive gallery of my past work Here.

Friday, March 21, 2008

Easier Easing

Have your keyframes ever found themselves bored with the drab, grey predictability of "Ease" and "Easy Ease"? Do they often complain about plain-jane temporal velocity adjustments? And do you select keyframes, apply an ease, then sigh as your layers move with the predicable monotony brought on by the After Effects defaults? Oh, sure, you might get brave and wander over to the Graph Editor now and again to alter the velocities of your items by hand, but really, how often do you just settle for an "Easy Ease In" and call it a day?

Is there a better way?

Thanks to Ian Haigh, there is. Ian was good enough to recently adapt some Flash-based easing equations originally designed by a fellow named Robert Penner, and he's brought them to After Effects. Check it out at his website.

I've tried the script and was very happy with how it all worked. I've now got a one-button solution to not only creating variations on 'eases', but also the opportunity for consistency. I pretty much always go to the graph editor to make my eases 'more extreme', but the trouble is when applied to multiple keyframes across many layers, they're all slightly different. Now I can use this script and all KF's that I apply it to will have the same 'movement personality'.

There are two drawbacks to the script*, both with workarounds. One, it only works on the first two KF's in an a given parameter. The workaround is to apply the script on multiple 'transform' EFFECTS instead of on to multiple keyframes on the 'transform' PARAMETER. And two, you can't view the resulting velocities in the Graph Editor (should you so choose) unless you select the KF's and go to Animation-> Keyframe Assistant-> Convert Expression to Keyframes. But I would surely recommend that you give it a try, I think you'll like it.

*Edit: take a gander at the comments to this post. Ian addresses both of these considerations.


ian said...

Hi and thanks for your positive comments about Ease and Wizz! To respond to the shortcomings you mentioned, I think it'll be possible to adapt the script so that you can choose which keyframes the expression apply to - and even affect all keyframes if that's what you're after. That's something I intend to look into, possibly for a future release. The other point is easier to address: you can actually see result of an expression in the graph editor, it's just slightly hidden. If you expand the property in question, so that you see the expression (or use the shortcut "EE" to reveal all expressions), you'll see that there's an extra graph symbol, next to the equals sign. Switch it on, and you'll see the result of the easing graphically (although After Effects seems to chug along pretty slowly when doing so). It's interesting to see how dramatic Penner's curves are, compared to After Effects'.

Thanks again, glad you find it useful!

Alan Shisko said...

Also, this just in from Ian...

"I've also changed it so that now the expressions can affect *all
keyframes*, instead of just the first two. Hopefully that will prove
more useful!"

Kyle said...

Thanks guys, this looks SUPER useful!

The "Bounce" and "Elastic" alone will be HUGE timesavers.

This may be the most excited I've ever been about a bunch of Javascript code.

Obviously, individual keyframe control would be awesome, though I can definitely see how it'll be difficult to figure out how to make that work by itself, without too much work from the end user. I know you can write expressions to affect only certain keyframes by number, etc... I wonder if something like that might be the route to take?

Daniela said...

Hi! I must say thank you to provide this script, it´s great!! i have just one question.
can i change any variables in the expression to give an even more dramatic effect?? if so, which ones??

Alan Shisko said...


I'm just the messenger! Drop Ian a note with your requests here...


Daniela said...


Thank you for the help! But,jeje, I´ve just found them at the very begining of the expression!

// some defaults
var p = 0.8;// period for elastic
var a = 50;// amplitude for elastic
var s = 1.70158;// overshoot amount for "back"

I didn´t realise before!!

Anonymous said...

Hi, guys...
I'm very excited to use the script, but I somehow cannot make it wark on AE7. I've downloaded the installation tutorial and did everything the way is shown. But the script is only available in the File - Scripts menu, not as a palet in the Window menu. I apply 2 position keyframes, select them and run the scrip from the Scripts menu; and then it pops up a warning which reads: unable to execute script at line 87. undefined is not an object.
What would be wrong?
By the way, Alan can we use your modified version of the script.
Thanks in advance...

Alan Shisko said...


I don't have a modified version of the script! You'll have to get in touch with Ian directly (see a couple of posts above for contact info).

It's my understanding that if you want it to work as a palette that you'll need AE CS3 or later.

Gyorfi said...

Thank you for this plug in, it really made my workflow faster.
I used the exponential option to smooth out the camera motions.

I just got my demo reel finished you can see that I have used this plugin in it.


Please also tell me what you like and what you don`t, about my video.

I am planing to become a professionals, but I know the road is long.

Alan Shisko said...


Yep, the road is certainly long, but, in my opinion, worthwhile :) I liked your reel. I don't have any specific criticisms, mostly just "keep on working at it"! It's best if you have a variety of 'looks' on your reel, and only put your best work on it, even if it means making it shorter.

And a request: consider publishing your reel as a quicktime too. A lot of folks like to download reels for reference. Inspiration and such. I've got a a large folder with all manner of reels, ready to view whenever I need some inspiration. Having to remember a particular website, then download it and such makes it less likely that people will be viewing your work often.

But it's not me that you should be thinking about: art directors also collect reels, and review them when hiring people :)

IMO, a flash interface looks great, but it's putting form before function. I'd suggest that you keep it, but offer a QT option!

Gyorfi Szilard said...


I was just browsing on your website, and I have seen that you replied to my post.

Thank you:) I really feel honored to talk wit one of the best in this industry.

I now made a new real, and reamade the website in sutch a way that my clients can easily brows the different types of videos in my portfolio.

I am still thinking about using the quicktime option because it loads a bit slower than flv , but it can have better image quality.

Thanks for the good words :)

At the moment I am working on a project that needs a lot of camera animation, I used the easy-and-wizz expression for the movement of the camera(on the camera null position). It looks nice, but I have 6 keyframes,could I deactivate the expression for the number 4 and 5?

Would it be possible to integrate slider controls in the expression?

Best regards

Gyorfi Szilard said...

Hey Alan

I made a video tutorial on how to install the ease and wizz script on windows, it may be useful for other visitors:


Johnathan Bendor said...

Hey Alan, used your expression so many times that you have to be thanked for personally for those great lines of code.
Awesome outstanding work for someone who tries to make a living from selling AE Project files for a living :)
Thank you, thank you , thank you.