Skip to main content
Known Participant
July 27, 2019
Question

Custom ease() easing

  • July 27, 2019
  • 1 reply
  • 10958 views

Hello there!

so I'm making a keyframe less animation,

a very simple one.

just scaling in and out. (Well, for now. maybe it will be larger one day).

I already got the animation itself,

but i want different easing.

any idea?

thats the code

ease(time,inPoint,inPoint+1,[-100,-100],[0,0])+ ease(time,inPoint+1,inPoint+2,[100,100],[0,0]);

1 reply

Justin Taylor-Hyper Brew
Community Expert
Community Expert
July 28, 2019

The built-in easings are linear, ease, easeIn, easeOut, however, you can make any easing you want. If you search for easing functions in JavaScript you'll see a bunch of examples, however, you'll need to convert these to be used in an AE expression context.

My recommendation would be to check out Flow​, it's got a pretty awesome expression feature that a lot of people don't know about. Instead of applying easing to keyframes, you can toggle on the expression feature and then the easing will be applied as an expression to your keyfames. And then you can go in and modify values as needed, and even make it work without keyframes if you want.

zlovatt
Inspiring
August 14, 2019

+1 to Flow's easing expressions; this was a major reason why Flow was created in the first place

We give you the 25 presets each as an easing function, as well as the ability to use your custom curve in expressions.

Participant
December 29, 2022

Hi @zlovatt Flow rocks! As for the apply as expression feature. I believed the Flow magic went even further and added the selected ease to your existing expression. That's complicated, I know. I was just hoping 🙂
So what I have is a position animation with 2 keyframes. I want the seconde keyframe controlled by a slider so the final position of that animation can be edited. That's what I used D. Ebberts':
if(numkeys > 1{
t1 = key(1).time;
t2 = key(2).time;

v1 = 80;
v2 = 400 + thisComp.layer("CTRL").effect("offsetX")(1);

easeOut(time,t1,t2,v1,v2);

}else value

 

As you can see I was hoping to keep this expression going, but add, for example an Expo curve.