Vectors, Indices and labels, Expression time – Adobe After Effects CS4 User Manual
Page 664
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
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: