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

Name

2014,1,2016,1,2d concave Collider,1,32 bit,1,3d,2,3D Interactive Sandbox,1,3d scanning,1,activations,1,Adcolony,1,admob,1,Alternative app stores,1,alternatives,1,Amazon,1,AMD,1,analytics,1,android,6,Android SDK Tools,1,angrybirds,1,APK,1,App,6,App Review,1,apple,1,as,1,ASO,1,Assets,8,augmented reality,1,AVPro QuickTime,1,beginner,2,behind the scene,4,BigMiniGolf,1,Bravo Storm Beta,3,bugfix,1,Buy,1,c#,3,camera,1,Cardboard,1,CGTrader,1,China,1,chrome,2,chromebook,1,clash of clans,1,Collaboration,1,collider,1,colors converter,1,companies,1,contest,1,Cpi,1,CrossyRoad,1,DEPENDENCY INJECTION,1,Downloads,12,drawcalls,1,dropbox,2,EA,1,EditorVR,1,error,6,Error building Player,1,facebookdevelopers,7,facebookUnitySDK,4,Failed,1,flapflap,1,Flappybird,1,flapybird,1,Fog,1,free,35,free post,4,future,1,game,5,Game Companies,1,game design document template,1,Games,1,gamestory,1,GDC,1,GIMP,1,git,1,github,5,GLOBAL GAME JAM 2015,1,Google,1,Google Daydream,1,Google play store,3,googledevelopers,6,graphics,1,Guides,23,Hacknslash,1,Headless Mode,1,Health,1,Heroku,1,How to Code,1,HowTo,8,Income,1,India,1,indie,2,Indie teams,3,infographics,3,information,7,Intel,1,iOS,3,iPhone,1,Issues,1,javascript,1,jdk installation,2,keyboardshortcuts,3,Language,2,learn,5,Level Eleven,1,license error,1,Linux,2,List,1,madebyunity,3,madewithunity,5,mo,1,mobile,1,mobogenie,1,monetize,2,mouse tricks,1,Must,1,news to know,24,NullReferenceException,1,Object,1,oculus,3,Official,3,open beta,1,open source,3,optimization,1,Paint.net,1,performance,1,permission,1,PKBhaag,1,plugins,7,Pokemon Go,1,polijoy,1,production,1,Profitable,1,programmer,2,Promote Your App,3,psd,2,Publish,2,realsense,1,reddit,1,release,3,render settings,1,reskin,1,Resources,2,Russia,2,scripts,4,SDK,4,SHADERS,4,Similar,1,skybox,1,Slender,1,soomla,1,Source Codes,1,SourceCodes,2,sponsored post,1,Sprites,1,Staff Pick,8,strategies,1,textures,1,Tilt Brush,1,tools,8,tricks,8,Tutorial,20,Unable to find,1,unite 2013,1,unite 2017,1,unity,9,Unity 2d Pathfinding,3,unity 2d water,1,Unity AdMob Plugin,1,Unity Forum,1,unity timer,1,unity web player,3,Unity Windows 10 Crash,1,Unity Without Borders,1,Unity2d,4,unity4.6,1,unity5,13,useful apps,1,Version,1,virtal reality,2,Virtual Reality,1,Visual Studio,1,vouchers,1,voxel,1,VR,2,webplyer,5,win,2,windows,2,wordpress,2,
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
Loaded All Posts 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