Last active
July 14, 2019 19:58
-
-
Save seblavoie/ab6aa421944ca952422f665ebe0df4d3 to your computer and use it in GitHub Desktop.
after effects wiggle expressions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Found here http://www.motion-graphics-exchange.com/after-effects/Wiggle-rubber-bounce-throw-inertia-expressions/4ad0f32a944ad | |
fps=15; //frequency | |
amount=50; //amplitude | |
wiggle(fps,amount,octaves = 1, amp_mult = 0.5,(Math.round(time*fps))/fps); | |
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 is similar to 1, but works at a defined FPS so your "jump" will happen 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 is like making your moves "rubbery." Layers will overextend, then settle into place on position and rotation keyframes. | |
// 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; | |
} | |
Sometimes you just want something to move constantly without keyframing it. Use throw. | |
// 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] | |
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] | |
by Chris Wright | |
(Min. Version: After Effects CS3, Category: Useful things, Type: Expressions) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment