目录

表达式简介

使用表达式的时机

解析表达式

为参数加入表达式

拾取线

向量与维数

参数值范围

插值方法

对象

全局对象

默认对象

方法与属性

矢量运算

实例应用

其他材料

表达式深入

参考表格

工程文件连接

返回主页

解析表达式

简单的说表达式就是为特定参数赋予特定值的一条或一组语句,最简单的表达式就是一个数值:

6;

当然了,这种表达式的用处不是很大,常量通过调整参数的值来实现就可以了,像下面这种变量表达式用处会更大:

rotation;

当执行该语句时,AE的表达式会自动计算当前图层当前时间的旋转参数值,返回的值会赋予表达式连接的参数值。 如果表达式应用于图层的不透明度属性,那么该图层的不透明度属性会随着旋转属性同步变化,当旋转三十度的时候,图层不透明度也会被设置为30%。

AE中的表达式以Javascript语言(一种用于网站开发的高级通用工业标准程序语言)为基础,Javascript包括一套丰富的语言工具来创建更复杂的表达式,当然包括最基本的数学运算:

opacity*10;

这就是一种高级语言,但是十分简单,意思就是当前图层在当前时间的不透明度参数乘以10,因为不透明度参数的值阈是0~100,所以该表达式的之余就是0~1000,该值将赋予表达式连接的任何参数。

等号的位置

也许你认为表达式应该是这种形式,“position=rotation”,AE中的表达式不需要使用等于号将其赋予参数,为参数添加表达式的时候,直接将计算出来的结果赋予参数。当然,你也可以在表达式中使用等于号,为参数赋变量值。

表达式、参数值一一对应

一句表达式控制一个参数,因为一句表达式仅连接在一个参数上,它仅将值赋予该参数。例如,你不可以使用一句表达式来同时修改一个图层的位置和旋转值;你只有创建两个区分开来的关键帧,一个连接到位置属性上,另一个连接到旋转属性上。

多行表达式

表达式可以以多条语句的形式来组织书写,事实上,表达式可以多达上百条语句,但是应该尽量将表达式组织的简捷明了,以使其执行起来高效快捷且便于人们的理解。

当表达式由多条语句组成的时候,最后一行语句所计算出来的值将赋予表达式连接的参数,如下面的表达式:

offset=30;
ralph=rotation+offset;
ralph;

该表达式组将会使图层的旋转值设置为当前时间的旋转值加上30度。

顺便说一句,仔细观察上面的表达式语句你会发觉每条语句以分号结尾。分号清晰的将每一条语句划分开来,从语法上来说,最后一行语句不需要以分号结束,但是如果你习惯的话也可以加上,不会影响语句的执行。

 

为参数加入表达式

有两种方法为选择的参数加入表达式,一种方法是在时间轴选择参数后,从动画菜单中选择增加表达式;另一种方法 是按住ALT键的同时鼠标左键单击参数左边的马表,快速为参数加入表达式。

option-click to add an expression

加入表达式后,你会发现时间轴发生了变化:

首先,在参数名称的左侧多了一个带有“=”的按钮,单击该按钮来切换表达式的使能状态。

其次,参数值变为红色,表示该参数由表达式控制,手动编辑该参数将失效。

第三,在参数名称的右边增加了并排的三个图标(稍后讨论)。

最后,在时间轴中增加了一个表达式编辑区域,该区域可以通过下拉箭头来改变显示范围。

单击第一个图标按钮会在时间轴窗口中打开表达式的变化图表,从中你可以观察到参数值的变化曲线和参数变化的加速度。如果表达式影响到元素的运动路径,那么合成窗口中显示的路径曲线也会发生变化。

第二个图标按钮是拾取线一个帮助你书写表达式的工具,只需要简单的将拾取线拖动到另一个参数上面,就可以为当前参数与拾取的参数建立动态连接关系,在后面的教程中详细讲解拾取线的功能。

第三个标按钮是表达式结构下拉菜单,使用该菜单可以方便的参考AE的表达式语言,使用该菜单可以清晰的看到表达式所影响的属性和元素。

 

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