AE表达式基础知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

关于表达式当您想创建和链接复杂的动画,但想避免手动创建数十乃至数百个关键帧时,请尝试使用表达式。表达式是一小段软件,它很像脚本,它的计算结果为某一特定时间点单个图层属性的单个值。脚本告知应用程序执行某种操作,而表达式说明属性是什么内容。通过表达式,您可创建图层属性之间的关系,以及使用某一属性的关键帧来动态制作其他图层的动画。例如,您可使用关联器链接路径属性,以便蒙版能够从笔刷笔触或者形状图层对象中获取其路径。表达式语言基于标准的JavaScript语言,但您不必了解JavaScript就能使用表达式。您可以创建表达式,方法是使用关联器或者复制简单示例并修改示例以满足您的需求。注意:示例表达式的两个来源是表达式采样器模板项目(“文件”“浏览模板项目”)以及“行为”类别中的动画预设(“动画”“浏览预设”)。动画预设可以包括表达式,甚至还可以完全由表达式组成。使用表达式而非关键帧的动画预设有时称为行为。在向某一属性添加表达式后,可以继续为该属性添加或编辑关键帧。表达式可以采用某一属性值(由其关键帧确定)并使用该值作为生成新的修改值的输入。例如,除了已设置关键帧的运动外,图层的旋转属性的以下表达式还会将旋转属性的值增大90度:??value+90某些方法(例如wiggle)直接作用于已设置关键帧的属性值。(请参阅属性特性和方法(表达式引用)。)图层的位置属性的以下表达式会保留图层的已设置关键帧的运动并使其稍微摆动一点:??wiggle(10,10)注意:使用wiggle表达式通常比使用摇摆器更快速且更容易。当您制作文本动画时,您可以使用表达式选择器来指定您想要动画属性对每个文本字符产生多大程度的影响。您可以向动画组添加一个或多个表达式选择器,且该动画组可以包含一个或多个属性。添加、编辑和移除表达式您可以通过手动键入表达式或通过使用“表达式语言”菜单自己输入整个表达式;您也可以使用关联器创建表达式或者从某个示例或其他属性中粘贴表达式。您可以在“时间轴”面板中使用表达式完成您的所有工作,但有时将关联器拖动到“效果控件”面板的属性中更为方便。您在表达式字段(时间图表中一个可调整大小的文本字段)中输入和编辑表达式。表达式字段显示在图层条模式中的属性旁;表达式字段显示在图表编辑器模式中的图表编辑器的底部。您可以在文本编辑器中编写表达式,然后将其复制到表达式字段中。当您向图层属性添加表达式时,默认表达式将显示在表达式字段中。默认表达式实际上不执行任何操作,它会将属性值设置为其本身,这使您能轻松地自行微调表达式。图层条模式下“时间轴”面板中的表达式界面A.“启用表达式”开关B.“显示后表达式图表”按钮C.关联器D.“表达式语言”菜单E.“表达式”字段当您在编辑表达式时,各种预览均已挂起;一个红色条显示在等待您退出文本编辑模式的面板的底部。包含表达式的属性的值显示为红色或粉红色类型。开始使用表达式的一种好方法是使用关联器创建简单表达式,然后使用简单数学运算(例如下表中所列的运算)调整表达式的行为:符号函数+加-减/除*乘*-1执行与原来相反的操作,例如逆时针,而非顺时针例如,可以通过在表达式结尾键入*2将结果增大一倍;也可以通过在表达式结尾键入/2将结果减小一半。在编制适合编辑的表达式时,可以结合这些简单的运算以及更多运算。例如,可以将/360*100添加到表达式结尾以将其范围从0-360更改到0-100。如果您要将360度刻度盘的值转换为按百分比计算的滑块,此更改将很有帮助。“时间轴”面板中的“表达式语言”菜单包含可在表达式中使用的特定于AfterEffects的语言元素。此菜单有助于确定有效元素及其正确语法;可使用其作为可用元素的参考。当您从菜单中选择任何对象、属性或方法时,AfterEffects会在表达式字段中的插入点将其自动插入。如果选中表达式字段中的文本,新表达式文本将替换所选文本。如果插入点不在表达式字段中,新表达式文本将替换该字段中的所有文本。“表达式语言”菜单列出了参数和默认值。此约定使您能够轻松记得在编写表达式时可以控制哪些元素。例如,在语言菜单中,“属性”类别的摆动方法显示为wiggle(freq,amp,octaves=1,amp_mult=.5,t=time)。五个参数在wiggle后面的圆括号中列出。最后三个参数中的=表示使用这些参数是可选的。如果您没有为其指定任何值,则它们将分别默认为1、.5以及当前时间。注意:您必须将“表达式语言”菜单编写的参数名称替换为实际值。PaulTuersley在AEEnhancer论坛上提供了一个可向所选属性自动添加wiggle、smooth和loop表达式的脚本。使用此脚本是初学者体验表达式的一种好方法。JeffAlmasol提供了一个可自动处理表达式并进行指定更改的脚本。例如,脚本可用于自动移除或启用已停用表达式。有关更多信息,请访问JeffAlmasol的redefinery网站。添加、禁用或移除表达式要向某属性添加表达式,请在“时间轴”面板中选择该属性并选择“动画”“添加表达式”或者按Alt+Shift+=(Windows)或Option+Shift+=(MacOS);或者按住Alt键并单击(Windows)或按住Option键并单击(MacOS)“时间轴”面板或“效果控件”面板中属性名称旁的秒表按钮。要暂时禁用表达式,请单击“启用表达式”开关。当表达式处于禁用状态时,此开关中会显示一条斜杠。要从某属性中移除表达式,请在“时间轴”面板中选择该属性并选择“动画”“移除表达式”,或者按住Alt键并单击(Windows)或按住Option键并单击(MacOS)“时间轴”面板或“效果控件”面板中属性名称旁的秒表按钮。使用关联器编辑表达式如果不熟悉JavaScript或AfterEffects表达式语言,您仍可以通过使用关联器来利用表达式的功能。您可将关联器从一个属性轻松拖动到另一属性以将这些属性与一个表达式相关联,而表达式文本是在表达式字段中的插入点输入的。如果选中表达式字段中的文本,新表达式文本将替换所选文本。如果插入点不在表达式字段中,新表达式文本将替换该字段中的所有文本。将关联器拖动到属性以创建指向该属性值的链接。可以将关联器拖动到属性的名称或值。如果拖动到属性的名称,则生成的表达式会将所有值作为一个整体显示。例如,如果您将关联器拖动到位置属性的名称,则会显示如下表达式:??thisComp.layer(Layer1).transform.position如果将关联器拖动到位置属性的某个组件值(例如y值),则会显示如下表达式,其中属性的x和y坐标均已链接到位置属性的y值:??temp=thisComp.layer(Layer1).transform.position[1];??[temp,temp]如果将关联器拖动到的图层、蒙版或效果在其本地上下文中不具有唯一名称,则AfterEffects会对其重命名。例如,如果您在同一图层上具有两个或更多个名为“Mask”的蒙版,且您将关联器拖动到其中之一,则AfterEffects会将其重命名为“Mask2”。关联器创建的表达式的格式由“以简明英语编写表达式拾取”首选项(“编辑”“首选项”“常规”(Windows)或者“AfterEffects”“首选项”“常规”(MacOS))确定。默认情况下,关联器创建简明英语表达式,这些表达式使用显示在“时间轴”面板中的属性名称。因为这些名称被编码到应用程序中且未曾更改,所以这些表达式在AfterEffects以其他语言运行时可以运行。您可更改的任何属性名称均括在双引号中且在任何语言中均保持一致。如果您不打算跨语言共享您的项目,则可取消选择此首选项。此首选项不会影响效果名称或效果属性。以下是使用简明英语的一个示例:??thisComp.layer(Layer1).transform.position以下是未使用简明英语的同一表达式:??thisComp.layer(Layer1)(Transform)(Position)注意:因为默认情况是使用简明英语,所以本文档在多数示例和插图中使用简明英语。o将关联器拖动到“时间轴”面板或“效果控件”面板中的其他属性。o根据需要,修改表达式字段中的默认表达式。注意:如果您使用关联器创建表达式以引用图层,且该图层与同一合成中的另一图层名称相同,则目标图层的名称会更改。新的图层名称是结尾有一数字的旧的图层名称。此更改是确保表达式清楚引用合成中的单个图层所必需的。手动编辑表达式o单击表达式字段以进入文本编辑模式。注意:在您进入文本编辑模式后,会选中整个表达式。要添加到表达式,请在表达式中单击以放置插入点;否则,您将替换整个表达式。o在表达式字段中键入和编辑文本,可以选择使用“表达式语言”菜单。要查看多行表达式的更多部分,请拖动表达式字段的底部或顶部以调整其大小。o要退出文本编辑模式并激活表达式,请执行下列操作之一:按数字小键盘上的Enter键。在表达式字段外部单击。示例:使用表达式语言参考编写表达式跟随此示例一起学习如何使用AfterEffects表达式语言参考编写表达式。此示例中创建的表达式将Solid2(实底2)的位置属性与Solid1(实底1)的位置属性相链接,Solid2(实底2)的移动与Solid1(实底1)的移动偏移量为2秒。o创建两个实底图层:实底1和实底2。o使用关键帧对实底1的位置属性值进行动画制作。(请参阅关于动画、关键帧和表达式。)o选择实底2的位置属性并选择“动画”“添加表达式”或者按住Alt键并单击(Windows)或按住Option键并单击该属性的秒表按钮。默认情况下将显示以下表达式:??transform.positiono直接在transform.position上键入以下内容:??thisCompo元素thisComp是一个全局属性,其值是一个表示当前合成的合成对象。要确定表达式中的thisComp,请查看thisComp返回值,该值位于全局对象、属性和方法(表达式参考)。请注意,thisComp返回的是合成对象。接下来,查看Comp属性和方法(表达式参考)以查看哪些属性和方法可用于Comp对象。一种选项是layer(index)。圆括号内的索引或数字指定您要使用的图层。在此示例中,我们假定实底1是您的合成中的第一个图层。要从活动合成中的第一个图层中检索值,请在表达式结尾键入.layer(1),从而得到以下内容:??thisComp.layer(1)o此外,查看表达式元素参考以检查layer(index)返回的是图层对象。查看图层常规属性和方法(表达式参考),并找出要使用的元素。例如,如果您要获得图层的位置属性的值,请在表达式结尾键入.position以得到以下内容:??thisComp.layer(1).positiono从图层常规属性和方法(表达式参考)中,可看到“位置”属性返回性质。查找性质属性和方法(表达式参考)并了解可向表达式添加一个时间因素。要添加特定时间,例如当前时间外加2秒,请在表达式结尾键入.valueAtTime(time+2)以得到以下内容:??thisComp.layer(1).position.valueAtTime(time+2)o从性质属性和方法(表达式参考),了解valueAtTime方法返回的是数字或数列。当表达式返回数目、数组或布尔值(True或False)时,您无法再向该表达式添加属性或方法(但如果需要,可以添加算术运算符,例如+、-、*和/)。显示表达式和表达式图表在图表编辑器模式下,单个表达式字段在图表编辑器底部显示为可调整大小的框并且仅为所选属性显示该表达式。要同时显示多个表达式字段,“时间轴”面板必须采用图层条模式。要在图层条模式和图表编辑器模式之间切换,请按Shift+F3键。要仅显示表达式的属性,请选择一个或多个图层,然后按EE。要在图表编辑器中显示表达式字段,请从图表编辑器底部的“选择图表类型和选项”菜单中选择“显示表达式编辑器”。在向属性添

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功