beautypg.com

Vectors, Indices and labels, Expression time – Adobe After Effects CS4 User Manual

Page 664

background image

658

USING AFTER EFFECTS CS4

Expressions

Last updated 12/21/2009

x = thisComp.layer("Layer A").position[0];

y = thisComp.layer("Layer B").position[1];

[x,y]

You can create an expression that refers to just one value within the array of a 2D or 3D property. By default, the first
value is used, unless you specify otherwise. For example, if you drag the pick whip from the Rotation property of Layer
A to Scale property of Layer B, the following expression appears:

thisComp.layer("Layer B").scale[0]

By default, this expression uses the first value of the Scale property, which is width. If you prefer to use the height value
instead, drag the pick whip directly to the second value instead of the property name, or change the expression as
follows:

thisComp.layer("Layer B").scale[1]

Conversely, if you drag the pick whip from the Scale property of Layer B to the Rotation property of Layer A, After
Effects automatically creates a variable, assigns the one-dimensional Rotation property value to it, and then uses that
variable for both dimensions of the Scale property:

temp = thisComp.layer(1).transform.rotation;
[temp, temp]

More Help topics

Color depth and high dynamic range color

” on page 274

Vectors

In After Effects, many properties and methods take or return vectors. After Effects refers to an array as a vector if it
represents either a point or direction in space. For example, After Effects describes

position

as returning a vector.

However, though a function like

audioLevels

does return a two-dimensional value (the left and right channel levels),

it is not called a vector because it does not represent a point or direction. Some functions in After Effects accept vector
arguments, but they are generally only useful when the values passed represent a direction. For example,

cross(vec1,

vec2)

computes a third vector that is at right angles to the input vectors. The cross product is useful when

vec1

and

vec2

are two vectors representing directions in space, but not if they just represent two arbitrary collections of

numbers.

Indices and labels

Indexing for Layer, Effect, and Mask elements in After Effects starts from 1. For example, the first layer in the Timeline
panel is

layer(1)

.

Generally, it is best to use the name of a layer, effect, or a mask instead of a number to avoid confusion and errors if
the layer, effect, or mask is moved, or if the arguments are changed during product updates and upgrades. When you
use a name, always enclose it in straight quotes. For example, the first of these expressions is easier to understand than
the second expression, and the first expression will continue to work even if you change the order of effects:

effect("Colorama").param("Get Phase From")

effect(1).param(2)

Expression time

Time within an expression is always in composition time (not layer time) and is measured in seconds. The default time
for any expression is the current composition time at which the expression is being evaluated. The following
expressions both use the default composition time and return the same values:

This manual is related to the following products: