Blueprint Function Library for Easing / Tweening

This is a crosspost from my UE4 research thread.

Blueprint Easing Function Library

I could not resist spending a few hours implementing an easing library. I think I used pretty much every easing resource available on the web for reference. I don’t take credit for the math, only the implementation. :slight_smile:

The functions use an input Alpha value, expecting a value between 0.0-1.0. Output is a value that starts/end at 0.0/1.0 with some overdrive as seen in the video. The only exception are the elastic functions which also has a parameter for frequency.

The function library can be downloaded below for UE4 4.3.0. Instructions can be found inside the ReadMe file.
http://dennylindberg.com/downloads/ue4/blueprint/EasingFunctionLibrary.zip

This is pretty cool! Thanks a lot for sharing. :slight_smile:

Whoa, very cool!

Thanks Denny, awesome work on the overdrive curves. I was wondering how I might implement some additional curves for a couple different things, and you just saved me a ton of time.

wow thank you :wink:

Thank you all for the positive responses! Keeps me inspired to do more fun things with the engine. :slight_smile:

Thank you Denny! This library has been amazingly useful for my projects.

One small note: In its current implementation, the easeElasticOut function returns >=1, even when the input alpha == 0. This causes the “eased” parameter to jump immediately to its end state, and then fluctuate around before settling in. There isn’t any initial, gradual easing towards the end point.

Here is the Blueprint for my custom easeElasticOut function (based on sample easeOutElastic function). It solves this problem but is missing the Frequency parameter. You can play with the 0.3 value (used in 2 places) to adjust the look/feel. [Sorry for the hassle - this was just a quick prototype.]

Thanks , that’s an excellent resource! I might refactor the blueprints one day, to fix the issue above and add the better math.

Cheers for the library. It’s coming in handy.