beautypg.com

Adobe After Effects User Manual

Page 708

background image

To the top

To the top

To the top

To the top

startFade = 500; // Start fade 500 pixels from camera.
endFade = 1500; // End fade 1500 pixels from camera.
try
{ // Check whether there's a camera
C = thisComp.activeCamera.toWorld([0,0,0]);
}
catch(err)
{ // No camera, so assume 50mm
w = thisComp.width * thisComp.pixelAspect;
z = (w/2)/Math.tan(degreesToRadians(19.799));
C = [0,0,-z];
}
P = toWorld(anchorPoint);
d = length(C,P);
linear(d,startFade,endFade,100,0)

The fade starts at a distance of 500 pixels from the camera and is complete at 1500 pixels from the camera. The linear interpolation

method is used to map distance values to opacity values.

Expression example: Make a 3D layer invisible if facing away from camera

Apply the following expression to the Opacity property of a 3D layer:

if (toCompVec([0, 0, 1])[2] > 0 ) value else 0

Dan Ebberts explains this expression on his

MotionScript website

.

Expression example: Flip layer horizontally if facing away from camera

Apply the following expression to the Scale property of a 3D layer:

if (toCompVec([0, 0, 1])[2] > 0 ) value else [-value[0], value[1], value[2]]

Expression example: Animate scale at each layer marker

Apply the following expression to a Scale property to make a layer wobble at each marker:

n = 0;
t = 0;
if (marker.numKeys > 0){
n = marker.nearestKey(time).index;
if (marker.key(n).time > time) n--;
}
if (n > 0) t = time - marker.key(n).time;

amp = 15;
freq = 5;
decay = 3.0;

angle = freq * 2 * Math.PI * t;
scaleFact = (100 + amp * Math.sin(angle) / Math.exp(decay * t)) / 100;
[value[0] * scaleFact, value[1] / scaleFact];

704

This manual is related to the following products: