beautypg.com

Adobe After Effects User Manual

Page 682

background image

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 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]

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

678

This manual is related to the following products: