Simple Easing Functions for Unity

Super simple, fast and easy to use tweening functions for unity which incorporates optimised Robert Penner's equations.Easing Functions for Unity Functions taken from github

Super simple, fast and easy to use tweening functions for unity which incorporates optimised Robert Penner's equations.

Functions taken from https://github.com/sole/tween.js/blob/master/src/Tween.js


--------------------------------------------

using UnityEngine;
 
/*
* Functions taken from Tween.js - Licensed under the MIT license
* at https://github.com/sole/tween.js
*/
public class Easing
{
 
public static float Linear (float k) {
return k;
}
public class Quadratic
{
public static float In (float k) {
return k*k;
}
public static float Out (float k) {
return k*(2f - k);
}
public static float InOut (float k) {
if ((k *= 2f) < 1f) return 0.5f*k*k;
return -0.5f*((k -= 1f)*(k - 2f) - 1f);
}
};
public class Cubic
{
public static float In (float k) {
return k*k*k;
}
public static float Out (float k) {
return 1f + ((k -= 1f)*k*k);
}
public static float InOut (float k) {
if ((k *= 2f) < 1f) return 0.5f*k*k*k;
return 0.5f*((k -= 2f)*k*k + 2f);
}
};
public class Quartic
{
public static float In (float k) {
return k*k*k*k;
}
public static float Out (float k) {
return 1f - ((k -= 1f)*k*k*k);
}
public static float InOut (float k) {
if ((k *= 2f) < 1f) return 0.5f*k*k*k*k;
return -0.5f*((k -= 2f)*k*k*k - 2f);
}
};
public class Quintic
{
public static float In (float k) {
return k*k*k*k*k;
}
public static float Out (float k) {
return 1f + ((k -= 1f)*k*k*k*k);
}
public static float InOut (float k) {
if ((k *= 2f) < 1f) return 0.5f*k*k*k*k*k;
return 0.5f*((k -= 2f)*k*k*k*k + 2f);
}
};
public class Sinusoidal
{
public static float In (float k) {
return 1f - Mathf.Cos(k*Mathf.PI/2f);
}
public static float Out (float k) {
return Mathf.Sin(k*Mathf.PI/2f);
}
public static float InOut (float k) {
return 0.5f*(1f - Mathf.Cos(Mathf.PI*k));
}
};
public class Exponential
{
public static float In (float k) {
return k == 0f? 0f : Mathf.Pow(1024f, k - 1f);
}
public static float Out (float k) {
return k == 1f? 1f : 1f - Mathf.Pow(2f, -10f*k);
}
public static float InOut (float k) {
if (k == 0f) return 0f;
if (k == 1f) return 1f;
if ((k *= 2f) < 1f) return 0.5f*Mathf.Pow(1024f, k - 1f);
return 0.5f*(-Mathf.Pow(2f, -10f*(k - 1f)) + 2f);
}
};
public class Circular
{
public static float In (float k) {
return 1f - Mathf.Sqrt(1f - k*k);
}
public static float Out (float k) {
return Mathf.Sqrt(1f - ((k -= 1f)*k));
}
public static float InOut (float k) {
if ((k *= 2f) < 1f) return -0.5f*(Mathf.Sqrt(1f - k*k) - 1);
return 0.5f*(Mathf.Sqrt(1f - (k -= 2f)*k) + 1f);
}
};
public class Elastic
{
public static float In (float k) {
if (k == 0) return 0;
if (k == 1) return 1;
return -Mathf.Pow( 2f, 10f*(k -= 1f))*Mathf.Sin((k - 0.1f)*(2f*Mathf.PI)/0.4f);
}
public static float Out (float k) {
if (k == 0) return 0;
if (k == 1) return 1;
return Mathf.Pow(2f, -10f*k)*Mathf.Sin((k - 0.1f)*(2f*Mathf.PI)/0.4f) + 1f;
}
public static float InOut (float k) {
if ((k *= 2f) < 1f) return -0.5f*Mathf.Pow(2f, 10f*(k -= 1f))*Mathf.Sin((k - 0.1f)*(2f*Mathf.PI)/0.4f);
return Mathf.Pow(2f, -10f*(k -= 1f))*Mathf.Sin((k - 0.1f)*(2f*Mathf.PI)/0.4f)*0.5f + 1f;
}
};
public class Back
{
static float s = 1.70158f;
static float s2 = 2.5949095f;
public static float In (float k) {
return k*k*((s + 1f)*k - s);
}
public static float Out (float k) {
return (k -= 1f)*k*((s + 1f)*k + s) + 1f;
}
public static float InOut (float k) {
if ((k *= 2f) < 1f) return 0.5f*(k*k*((s2 + 1f)*k - s2));
return 0.5f*((k -= 2f)*k*((s2 + 1f)*k + s2) + 2f);
}
};
public class Bounce
{
public static float In (float k) {
return 1f - Out(1f - k);
}
public static float Out (float k) {
if (k < (1f/2.75f)) {
return 7.5625f*k*k;
}
else if (k < (2f/2.75f)) {
return 7.5625f*(k -= (1.5f/2.75f))*k + 0.75f;
}
else if (k < (2.5f/2.75f)) {
return 7.5625f *(k -= (2.25f/2.75f))*k + 0.9375f;
}
else {
return 7.5625f*(k -= (2.625f/2.75f))*k + 0.984375f;
}
}
public static float InOut (float k) {
if (k < 0.5f) return In(k*2f)*0.5f;
return Out(k*2f - 1f)*0.5f + 0.5f;
}
};
}
---------------------------------------------------

COMMENTS

FREE$type=three$author=hide$comment=hide$readmore=hide

$type=carousel$cols=3$count=9

Name

2014 2016 2d concave Collider 3d 3D Interactive Sandbox 3d scanning activations Adcolony admob Alternative app stores alternatives Amazon AMD analytics android angrybirds APK App App Review apple as ASO Assets augmented reality AVPro QuickTime beginner behind the scene BigMiniGolf Bravo Storm Beta bugfix Buy c# camera Cardboard CGTrader China chrome chromebook clash of clans Collaboration collider colors converter companies contest Cpi CrossyRoad DEPENDENCY INJECTION Downloads drawcalls dropbox EA error Error building Player facebookdevelopers facebookUnitySDK Failed flapflap Flappybird flapybird Fog free free post future game Game Companies game design document template Games gamestory GIMP git github GLOBAL GAME JAM 2015 Google Google Daydream Google play store googledevelopers graphics Guides Hacknslash Headless Mode Health Heroku How to Code HowTo Income India indie Indie teams infographics information Intel iOS iPhone Issues javascript jdk installation keyboardshortcuts Language learn Level Eleven license error Linux List madebyunity madewithunity mo mobile mobogenie monetize mouse tricks Must news to know NullReferenceException Object oculus Official open beta open source optimization Paint.net performance permission PKBhaag plugins Pokemon Go polijoy production Profitable programmer Promote Your App psd Publish realsense reddit release render settings reskin Resources Russia scripts SDK SHADERS Similar skybox Slender soomla Source Codes SourceCodes sponsored post Sprites Staff Pick strategies textures Tilt Brush tools tricks Tutorial Unable to find unite 2013 unity Unity 2d Pathfinding unity 2d water Unity AdMob Plugin Unity Forum unity timer unity web player Unity Windows 10 Crash Unity2d unity4.6 unity5 useful apps Version virtal reality Virtual Reality Visual Studio vouchers voxel VR webplyer win windows wordpress
false
ltr
item
Unity 3d Tutorials: Simple Easing Functions for Unity
Simple Easing Functions for Unity
Super simple, fast and easy to use tweening functions for unity which incorporates optimised Robert Penner's equations.Easing Functions for Unity Functions taken from github
Unity 3d Tutorials
http://unity3diy.blogspot.com/2014/12/simple-easing-functions-for-unity.html
http://unity3diy.blogspot.com/
http://unity3diy.blogspot.com/
http://unity3diy.blogspot.com/2014/12/simple-easing-functions-for-unity.html
true
8957287156628097350
UTF-8
Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy