表达式基础

表达式深入

相关工程文件

返回主页

图层参数

下面表格中列出的是一些可以应用表达式的图层参数。(当然我们也可以对效果参数或遮罩参数应用表达式)

利用下面的表格可以了解到表达式中每个参数的限制:维数,单位,自变量范围等等。

图层属性 维数 单位 理论范围 应用范围
anchor_point 2* [x, y, (z)] 像素 负整数~正整数 0~图层宽度,高度
position 2* [x, y, (z)] 像素 负整数~正整数 0~合成宽度,高度
scale 2*[宽度,高度,(深度)] 百分比 负整数~正整数 -100 ~+100
rotation 1 角度 负整数~正整数 0–360 (一个周期)
opacity 1 百分比 0~100 0~100
orientation (3D-only) 3 [x, y, z] 角度 负整数~正整数 0-360 (一个周期)
audio_levels 2 [左声道,右声道] 分贝 -192~24 -48~12
ambient 1 百分比 0~100 0~100
diffuse 1 百分比 0~100 0~100
speculr 1 百分比 0~100 0~100
shininess 1 百分比 0~100 0~100
*表示当图层转换为3D时,该属性为3维.

全局对象

下面的表格中列出了AE中所有的全局对象以及其返回值的类型。如果在引用非当前图层的元素时,需要在元素前面加上全局对象名。

全局对象 返回值类型
this_layer 普通图层 or 灯光图层 or 摄影机图层
this_comp 合成
comp("name") 合成
footage("name") 素材
time 标量
value 标量

合成属性与方法

在这个表格中列出了AE里所有合成对象的属性、方法及次物体。另外,还包括对象类型、返回值类型等。

合成属性或方法 返回值类型 维数 单位或范围
active_camera 摄影机    
width 标量 1 像素
height 标量 1 像素
duration 标量 1
frame_duration 标量 1
bg_color 矢量 4 0 ~ 1
shutter_angle 标量 1
shutter_phase 标量 1
num_layers 标量 1  
pixel_aspect 标量 1 NA (像素宽度/像素高度)
layer(index or name) 图层    
layer(other layer, relative index) 图层    

图层属性与方法

在这个表格中列出了AE里所有图层对象的属性、方法及次物体。另外,还包括对象类型、返回值类型等。

图层属性或方法 返回值类型 维数 单位
width 标量 1 像素
height 标量 1 像素
start_time 标量 1
in_point 标量 1
out_point 标量 1
has_video 逻辑值 1 是/否
has_audio 逻辑值 1 是/否
active 逻辑值 1 是/否
audio_active 逻辑值 1 是/否
audio_levels 属性 2 [左声道,右声道] 分贝
index 标量 1 数字
parent 普通图层 or 灯光图层 or 摄影机图层    
anchor_point 属性 2 or 3 [x, y, (z)] 像素 (限制在图层尺寸内)
position 属性 2 or 3 [x, y, (z)] 像素
scale 属性 2 or 3 [宽度,高度,(深度)] 百分比
opacity 属性 1 百分比
rotation 属性 1
orientation (3D-only) 属性 3 [x, y, z]
ambient (3D-only) 属性 1 百分比
shininess (3D-only) 属性 1 百分比
casts_shadows (3D-only) 逻辑值 1 是/否
accepts_shadows (3D-only) 逻辑值 1 是/否
accepts_lights (3D-only) 逻辑值 1 是/否
time_remap 属性 1
source 秒 或 素材    
mask(index or name) 遮罩    
effect(index or name) 效果    

素材属性与方法

在这个表格中列出了AE里所有素材对象的属性、方法及次物体。另外,还包括对象类型、返回值类型等。

素材属性 返回值类型 维数 单位
width 标量 1 像素
height 标量 1 像素
duration 标量 1
frame_duration 标量 1
pixel_aspect 标量 1 像素 (限制在素材尺寸内)

属性对象的方法与属性

在下面的表格中我们列出了诸如旋转属性或不透明度属性等属性对象的方法与属性,那么我们怎样确定一个对象是属性对象呢?很简单我们可以利用上面表格中的返回值类型这仪字段来核实对象的类型。例如,'position'返回值的类型为属性值。

属性对象的方法或属性

返回值类型 维数
value 标量 或 矢量  
value_at_time(t) 标量 或 矢量  
velocity 标量 或 矢量  
velocity_at_time(t) 标量 或 矢量  
speed 标量 1
speed_at_time(t) 标量 1

矢量运算方法

在AE中,矢量算法被定义为默认对象的一部分,所以我们不需要以这种形式书写矢量运算:"Math.add(vector1,vector2)"。如果你需要使用矢量运算,可以在Javascript中查看是否还有另外的更有用的算法对象可以应用在AE的表达式中。

矢量运算方法

返回值类型或维数 备注
add(vector1, vector2) 最高是一维或二维 不需要匹配维数
sub(vector1, vector2) 最高是一维或二维 不需要匹配维数
mul(vector, Number) 矢量  
div(vector, Number) 矢量  
clamp(value, limit1, limit2) 标量 最终结果为: limit1_value_limit2
dot(vector1, vector2) 标量 仅仅应用于任意矢量的前两维
cross(vector1, vector2) 矢量  
normalize(vector) 矢量 改变矢量方向但长度为1
length(vector) 标量  
length(from_point, to_point) 标量  
look_at(from_point, to_point) 矢量 应用于朝向属性, 仅3D图层

插值算法

插值算法会在我们应用的两个值之间进行平滑运算。

插值算法
维数 备注
linear(t,t_min, t_max, value1, value2) 与 value1 维数相同 value2 的维数将强制转化为 value 1的维数
ease(t,t_min, t_max, value1, value2) 与 value1 维数相同 value2 的维数将强制转化为 value 1的维数
ease_in(t,t_min, t_max, value1, value2) 与 value1 维数相同 value2 的维数将强制转化为 value 1的维数
ease_out(t,t_min, t_max, value1, value2) 与 value1 维数相同 value2 的维数将强制转化为 value 1的维数
note: t_min and t_max 是可选项; 如果忽略的话, AE 将使用默认的范围( 0 to 1).

所有内容版权归JJ Gifford.所有,翻译权归CG频道所有,违者必纠。