5 Expressions That Will Change Your Life

While searching for these, I found so many dead links, and decided to add a “live” link that would always be available.  I found this on a post by a user named “Beaver” in a MoGraph Forum.  These expressions have already been indispensable for a newbie-hacker such as myself, and now I feel as though I see these expressions everywhere in motion graphics sequences.

And this was at the end of the post: “A shoutout to the brilliant folks at www.aenhancers.com who provided in whole or in part the basis for all of these expressions.”

Also, since finding this original post, I also found an updated version of “INERTIAL BOUNCE” over at Harry Frank’s website.  He offers his “5 Expressions That Will Change Your Life” over on GRAYMACHINE.

Speaking of, although I am not affiliated with him or his site in any way, Harry Frank is part of the Red Giant Software team as of this writing, and one of the most useful tutorials I’ve found to date, is his “After Effects Expressions” DVD, which can be found at Creative Cow as well as his own website.  Harry makes Expressions in After Effects understandable, and even with a newbie-hacker such as myself, creating “DAY 016 – Scary Wiggle Intro” found here and on Vimeo.

The After Effects Expressions that WILL change your life:

_______________________________

JUMPY WIGGLE 1 / makes wiggle skip and hold rather than move fluidly:

// Jumpy Wiggle 1 (moves at a random FPS)
v=wiggle(5,50);
if(v < 50)v=0;
if(v > 50)v=100;
v
_______________________________

JUMPY WIGGLE 2 / similar 1, but the “jump” happens at a regular pace:

// Jumpy Wiggle 2 (moves at a defined FPS)
fps=5; //frequency
amount=50;  //amplitude
wiggle(fps,amount,octaves = 1, amp_mult = 0.5,(Math.round(time*fps))/fps);

_______________________________

INERTIAL BOUNCE / makes moves “rubbery.” Layers overextend, then settle into place:

// Inertial Bounce (moves settle into place after bouncing around a little)
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n–;
}
}
if (n == 0){
t = 0;
}else{
t = time – key(n).time;
}

if (n > 0){
v = velocityAtTime(key(n).time – thisComp.frameDuration/10);
amp = .05;
freq = 4.0;
decay = 2.0;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}
_______________________________

THROW / for constant motion:

// Throw (move at a constant speed without keyframes)
veloc = -10; //horizontal velocity (pixels per second)
x = position[0] + (time – inPoint) *veloc;
y = position[1];
[x,y]
_______________________________

SPIN / same as throw, but for rotation.

// Spin (rotate at a constant speed without keyframes)
veloc = 360; //rotational velocity (degrees per second)
r = rotation + (time – inPoint) *veloc;
[r]
_______________________________

 
 

My Other Lives

My world is wide and varied, and this is just one of many amazing things I've had the privilege of experiencing. My internet shops are at the core what allows me to experience more than I thought possible:

Cleversley.com
Entheology.com
IAmShaman Shop
Kona Kava Farm
Playground Studio
Shaman's Garden

Recent Photos

My Commerce Sites