a list of ideas to tackle
// Below is forked from another working doc, to be ported above
Wiggle
loopOut
Inertial bounce
The bounce expression is very useful to make your animations and titles look dynamic with a nice elastic movement, just make 2 keyframes position and past the code below.
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;
}
Time
to Comp
This is a perfect and easy way to create cool dynamic motion in 3D space with 2D layers.
layer.toComp([0,0,0])
Fade
The automatic fade expression is useful when you don’t want to bother a create keyframes for a fade animation.
if (marker.numKeys<2){
tSecs = transition / ( 1 / thisComp.frameDuration);
linear(time, inPoint, inPoint + tSecs, 0, 100)
- linear(time, outPoint - tSecs, outPoint, 0, 100)
}else{
linear(time, inPoint, marker.key(1).time, 0, 100)
- linear(time, marker.key(2).time, outPoint, 0, 100)
}
Motion Trail
As you can see below with this motion trail expression you can get some pretty interesting animation of layers trailing .
delay = 5; //number of frames to delay
d = delay*thisComp.frameDuration*(index - 1);
thisComp.layer(1).position.valueAtTime(time - d)
* //Apply to Opacity
opacityFactor = .75;
Math.pow(opacityFactor,index - 1)*100
Squash/Stretch
This bouncing squash and stretch expression should make your animation a bit more alive by adding a proportional scale to your shapes or images.
spd = 30; //speed of oscillation
decay = 1.0; //how fast it slows down
t = time - inPoint;
x = scale[0] + maxDev*Math.sin(spd*t)/Math.exp(decay*t);
y = scale[0]*scale[1]/x;
[x,y]
Rotation
Here is another After Effects rotation expression, no keyframes needed to make a simple 360 rotation on a layer.
veloc = 360; //360 Degree Rotation per Second
r = rotation + (time - inPoint) *veloc;
[r]
Blink
The blinking expression becomes super handy when you don’t want to repeat a bunch of opacity keyframes over and over or want to animate a cursor quickly.
n= Math.sin(time*blinkSpeed);
if(n<0) 0 else 100;