Vectors, Indices and labels – Adobe After Effects CS3 User Manual
Page 563
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)
.