beautypg.com

Vectors, Indices and labels – Adobe After Effects CS3 User Manual

Page 563

background image

AFTER EFFECTS CS3

User Guide

558

y = position[1];

[9,y]

The following is even more succinct:

[9, position[1]]

This is an important point, so let’s look at one more example. If you want to combine the x position value from Layer
A with the y position value from Layer B, you would use the following:

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 Layer A’s Rotation property
to Layer B’s Scale property, the following expression appears:

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

By default, the above 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 Layer B’s Scale property to Layer A’s Rotation property, After Effects
automatically creates a variable, assigns the one-dimensional Rotation property’s value to it, and then uses that
variable for both dimensions of the Scale property:

temp = thisComp.layer(1).transform.rotation;

[temp, temp]

See also

“High dynamic range color” on page 235

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. This is useful when

vec1

and

vec2

are two vectors representing directions in space, but not if they just represent two arbitrary collec-

tions 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)

.