第7章职业应用领域5——表达式与跟踪技术应用【职业能力目标】本章对AfterEffectsCS4中的“表达式与跟随技术”进行了介绍,重点讲解创建表达式的方法、编辑表达式方法、表达式应用举例,以及运动跟踪中的单点跟踪和多点跟踪、稳定跟踪、父子绑定跟踪、表达式跟踪等技术。通过本章内容的学习,读者可以掌握AE中表达式的使用方法,以及跟踪技术的使用方法。7.1表达式建立与应用7.1.1表达式的创建AE中创建表达式方法有三种,方法一为菜单方式,在时间线窗口中选择一个需要增加表达式控制的属性,在菜单栏中选择“AnimationAddExpression”命令激活该属性,如图7-1。表达式添加成功后,属性右边文本编辑框被激活,则可以直接在编辑框内输入表达式,如图7-2。图7-1图7-2表达式编辑区方法二为图形界面操作方式,选择层属性后,按住Alt键同时,用鼠标点击属性左侧小码表,则可直接激活右侧文本编辑框,“Alt+鼠标左键+小码表”。方法三为快捷键方式,选取需要赋予表达式的参数,然后按下“Shift+Alt+=”,则可激活右侧文本编辑框。增加表达式的属性中会自动增加四个工具,其作用分别为::表达式起作用按钮,也称作“开关”按钮,当输入表达式符合语法时,点击该按钮即可确认表达式输入;当表达式输入出现错误时,该按钮会转变为,即表达式不起作用按钮,同时在左侧出现警告提示按钮;:曲线图形显示按钮,也称作“图表”按钮,显示Expression加载后的变化曲线,检查Expression加载后值的变化和速度的变化曲线。若要观察曲线图形效果,则需要先激活曲线编辑器,然后才可以显示或取消显示曲线图形;:链接拾取线,建立该参数和其它参数的链接,点击这个按钮不放并拖动鼠标,会出现一根线条,将线条头拖到其它参数上,就可以建立当前参数和该参数的链接关系;:表达式语言函数菜单,提示Expression中使用的语法和函数。编写、增加表达式的工作都是在时间线窗口中完成,当增加一个层属性的表达式到时间线窗口时,一个默认的表达式就出现在该属性右侧的表达式编辑区内,可以书写新的表达式覆盖此默认属性;如果改变了一个表达式所在的层属性名或曾用名,这个表达式可能产生一个错误的信息。7.1.2表达式的基础操作编写表达式可以直接在时间线窗口中的表达式编辑区中直接编写,也可通过其他文本工具编写后复制\粘贴到表达式编辑区中。编写自己的表达式时,需要编写者掌握一些JavaScript语法知识和数学基础知识。编写表达式时,需要注意如下事项:JavaScript语句区分大小写,即thisComp.layer(“bg.jpg”)与thisComp.layer(“BG.jpg”)不同;在一段或一行程序后需要加“;”符号,以提示下个语句的开始;在编辑区到下一行时,需按“ctrl+Enter”或“shift+Enter”组合键,确认表达式输入完毕直接按“Enter”键;编辑区可通过将鼠标放在编辑区框上下拖动扩大编辑区范围;在AE中,可以用表达式语言访问属性值。访问属性值时,用“.”符号将对象连接起来。连接层A的Position属性到层B的Position属性时,可以在层A的Position属性右侧文本编辑框中输入如下表达式:thisComp.layer(B).transform.position表达式的默认对象是表达式中对应的属性,接着是层中内容的表达,因此,可以不指定属性。例如,在层的位置属性上写抖动表达式可以用如下两种方法:transform.position.wiggle(5,10)或wiggle(5,10)在表达式中可以包括层及其属性。例如,将A层的Scale属性与B层的Position属性中抖动相连的表达式为:在B层中Position属性中输入:transform.position.wiggle(5,20)在A层中Scale属性中输入:thisComp.layer(B).transform.position在AE中,当加一个表达式到属性后,可以连续对属性进行编辑、增加关键帧操作。编辑或创建的关键帧的值将在表达式以外的地方使用。当层A动作中即存在表达式,又存在关键帧,若想只复制表达式到层B中而不复制关键帧的操作方法是,选中层A的属性,单击Edit菜单下的CopyExpressionOnly命令,然后选中B层粘贴即可。层中的表达式是针对不同项目不同层编写的,这就需要针对不同表达式含义做注释,给表达式添加注释的操作方法是在表达式语句编写结束后加“;”,然后在“;”后加“//”,再添加注释语句,例如:wiggle(5,10);//本固态层抖动5次每秒,每次抖动10个像素