Easing2Curve: An editor window to create animation curve from easing functions

Logo do post

I’ve coded an EditorWindow to create an AnimationCurve using easing functions that define how much a value changes over time.

Introduction

There are many classic easing functions, such as: InQuad, OutElastic, InOutSin, and InOutBounce. All of these are functions that have a time input parameter and a return value between 0 and 1.

For example, the easing function OutCirc is coded like:

    public float Calculate(float time)
    {
        return (float)Mathf.Sqrt((2 - time) * time);
    }

In the Easing2Curve editor window you can see 31 easing function availables:

  • Linear
  • InQuad, OutQuad, InOutQuad
  • InCubic, OutCubic, InOutCubic
  • InQuart, OutQuart, InOutQuart
  • InQuint, OutQuint, InOutQuint
  • InElastic, OutElastic, InOutElastic
  • InSin, OutSin, InOutSin
  • InExpo, OutExpo, InOutExpo
  • InCirc, OutCirc, InOutCirc
  • InBack, OutBack, InOutBack
  • InBounce, OutBounce and InOutBounce.

In addition, you can add new easing functions just implementing the IEasing interface.

Setup

To setup the Easing2Curve just download this gist and unzip it on an Editor folder inside your Unity project.

Using

You can open the window through the context menu on any AnimationCurve property on Inspector.

In the video below you can see how to use the Easing2Curve:

Follow @giacomelli
Tutorials

News

Articles

Labs