AE表达式基础知识.docx
《AE表达式基础知识.docx》由会员分享,可在线阅读,更多相关《AE表达式基础知识.docx(19页珍藏版)》请在三一办公上搜索。
1、AE表达式基础知识关于表达式 当您想创建和链接复杂的动画,但想避免手动创建数十乃至数百个关键帧时,请尝试使用表达式。表达式是一小段软件,它很像脚本,它的计算结果为某一特定时间点单个图层属性的单个值。脚本告知应用程序执行 某种操作,而表达式说明属性是 什么内容。 通过表达式,您可创建图层属性之间的关系,以及使用某一属性的关键帧来动态制作其他图层的动画。例如,您可使用关联器链接路径属性,以便蒙版能够从笔刷笔触或者形状图层对象中获取其路径。 表达式语言基于标准的 JavaScript 语言,但您不必了解 JavaScript 就能使用表达式。您可以创建表达式,方法是使用关联器或者复制简单示例并修改示
2、例以满足您的需求。 注意: 示例表达式的两个来源是表达式采样器模板项目以及“行为”类别中的动画预设。 动画预设可以包括表达式,甚至还可以完全由表达式组成。使用表达式而非关键帧的动画预设有时称为行为。 在向某一属性添加表达式后,可以继续为该属性添加或编辑关键帧。表达式可以采用某一属性值并使用该值作为生成新的修改值的输入。例如,除了已设置关键帧的运动外,图层的旋转属性的以下表达式还会将旋转属性的值增大 90 度: ?value + 90 某些方法直接作用于已设置关键帧的属性值。) 图层的位置属性的以下表达式会保留图层的已设置关键帧的运动并使其稍微摆动一点: ?wiggle(10, 10) 注意:
3、使用 wiggle 表达式通常比使用摇摆器更快速且更容易。 当您制作文本动画时,您可以使用表达式选择器来指定您想要动画属性对每个文本字符产生多大程度的影响。您可以向动画组添加一个或多个表达式选择器,且该动画组可以包含一个或多个属性。 添加、编辑和移除表达式 您可以通过手动键入表达式或通过使用“表达式语言”菜单自己输入整个表达式;您也可以使用关联器创建表达式或者从某个示例或其他属性中粘贴表达式。 您可以在“时间轴”面板中使用表达式完成您的所有工作,但有时将关联器拖动到“效果控件”面板的属性中更为方便。您在表达式字段中输入和编辑表达式。表达式字段显示在图层条模式中的属性旁;表达式字段显示在图表编辑
4、器模式中的图表编辑器的底部。您可以在文本编辑器中编写表达式,然后将其复制到表达式字段中。当您向图层属性添加表达式时,默认表达式将显示在表达式字段中。默认表达式实际上不执行任何操作,它会将属性值设置为其本身,这使您能轻松地自行微调表达式。 图层条模式下“时间轴”面板中的表达式界面 A. “启用表达式”开关 B. “显示后表达式图表”按钮 C. 关联器 D. “表达式语言”菜单 E. “表达式”字段 当您在编辑表达式时,各种预览均已挂起;一个红色条显示在等待您退出文本编辑模式的面板的底部。 包含表达式的属性的值显示为红色或粉红色类型。 开始使用表达式的一种好方法是使用关联器创建简单表达式,然后使用
5、简单数学运算调整表达式的行为: 符号 函数 + 加 - / * 减 除 乘 *-1 执行与原来相反的操作,例如逆时针,而非顺时针 例如,可以通过在表达式结尾键入 *2 将结果增大一倍;也可以通过在表达式结尾键入 /2 将结果减小一半。 在编制适合编辑的表达式时,可以结合这些简单的运算以及更多运算。例如,可以将 /360*100 添加到表达式结尾以将其范围从 0-360 更改到 0-100。如果您要将 360 度刻度盘的值转换为按百分比计算的滑块,此更改将很有帮助。 “时间轴”面板中的“表达式语言”菜单包含可在表达式中使用的特定于 After Effects 的语言元素。此菜单有助于确定有效元素
6、及其正确语法;可使用其作为可用元素的参考。当您从菜单中选择任何对象、属性或方法时,After Effects 会在表达式字段中的插入点将其自动插入。如果选中表达式字段中的文本,新表达式文本将替换所选文本。如果插入点不在表达式字段中,新表达式文本将替换该字段中的所有文本。 “表达式语言”菜单列出了参数和默认值。此约定使您能够轻松记得在编写表达式时可以控制哪些元素。例如,在语言菜单中,“属性”类别的摆动方法显示为 wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)。五个参数在 wiggle 后面的圆括号中列出。最后三个参数中的 = 表示使用这些参数是
7、可选的。如果您没有为其指定任何值,则它们将分别默认为 1、.5 以及当前时间。 注意: 您必须将“表达式语言”菜单编写的参数名称替换为实际值。 Paul Tuersley 在 AE Enhancer 论坛上提供了一个可向所选属性自动添加 wiggle、smooth 和 loop 表达式的脚本。使用此脚本是初学者体验表达式的一种好方法。 Jeff Almasol 提供了一个可自动处理表达式并进行指定更改的脚本。例如,脚本可用于自动移除或启用已停用表达式。有关更多信息,请访问 Jeff Almasol 的 redefinery 网站。 添加、禁用或移除表达式 要向某属性添加表达式,请在“时间轴”面
8、板中选择该属性并选择“动画”“添加表达式”或者按 Alt+Shift+= (Windows) 或 Option+Shift+= (Mac OS);或者按住 Alt 键并单击 (Windows) 或按住 Option 键并单击 (Mac OS)“时间轴”面板或“效果控件”面板中属性名称旁的秒表按钮 。 要暂时禁用表达式,请单击“启用表达式”开关 会显示一条斜杠 。 。当表达式处于禁用状态时,此开关中 要从某属性中移除表达式,请在“时间轴”面板中选择该属性并选择“动画”“移除表达式”,或者按住 Alt 键并单击 (Windows) 或按住 Option 键并单击 (Mac OS)“时间轴”面板或“
9、效果控件”面板中属性名称旁的秒表按钮。 使用关联器编辑表达式 如果不熟悉 JavaScript 或 After Effects 表达式语言,您仍可以通过使用关联器来利用表达式的功能。您可将关联器 从一个属性轻松拖动到另一属性以将这些属性与一个表达式相关联,而表达式文本是在表达式字段中的插入点输入的。如果选中表达式字段中的文本,新表达式文本将替换所选文本。如果插入点不在表达式字段中,新表达式文本将替换该字段中的所有文本。 将关联器拖动到属性以创建指向该属性值的链接。 可以将关联器拖动到属性的名称或值。如果拖动到属性的名称,则生成的表达式会将所有值作为一个整体显示。例如,如果您将关联器拖动到位置属
10、性的名称,则会显示如下表达式: ?thisComp.layer(Layer 1).transform.position 如果将关联器拖动到位置属性的某个组件值,则会显示如下表达式,其中属性的 x 和 y 坐标均已链接到位置属性的 y 值: ?temp = thisComp.layer(Layer 1).transform.position1; ?temp, temp 如果将关联器拖动到的图层、蒙版或效果在其本地上下文中不具有唯一名称,则 After Effects 会对其重命名。例如,如果您在同一图层上具有两个或更多个名为“Mask”的蒙版,且您将关联器拖动到其中之一,则 After Effe
11、cts 会将其重命名为“Mask 2”。 关联器创建的表达式的格式由“以简明英语编写表达式拾取”首选项确定。默认情况下,关联器创建简明英语表达式,这些表达式使用显示在“时间轴”面板中的属性名称。因为这些名称被编码到应用程序中且未曾更改,所以这些表达式在 After Effects 以其他语言运行时可以运行。您可更改的任何属性名称均括在双引号中且在任何语言中均保持一致。如果您不打算跨语言共享您的项目,则可取消选择此首选项。此首选项不会影响效果名称或效果属性。 以下是使用简明英语的一个示例: ?thisComp.layer(Layer 1).transform.position 以下是未使用简明英
12、语的同一表达式: ?thisComp.layer(Layer 1)(Transform)(Position) 注意: 因为默认情况是使用简明英语,所以本文档在多数示例和插图中使用简明英语。 o 将关联器拖动到“时间轴”面板或“效果控件”面板中的其他属性。 o 根据需要,修改表达式字段中的默认表达式。 注意: 如果您使用关联器创建表达式以引用图层,且该图层与同一合成中的另一图层名称相同,则目标图层的名称会更改。新的图层名称是结尾有一数字的旧的图层名称。此更改是确保表达式清楚引用合成中的单个图层所必需的。 手动编辑表达式 o 单击表达式字段以进入文本编辑模式。 注意: 在您进入文本编辑模式后,会选
13、中整个表达式。要添加到表达式,请在表达式中单击以放置插入点;否则,您将替换整个表达式。 o 在表达式字段中键入和编辑文本,可以选择使用“表达式语言”菜单。 要查看多行表达式的更多部分,请拖动表达式字段的底部或顶部以调整其大小。 o 要退出文本编辑模式并激活表达式,请执行下列操作之一: 按数字小键盘上的 Enter 键。 在表达式字段外部单击。 示例:使用表达式语言参考编写表达式 跟随此示例一起学习如何使用 After Effects 表达式语言参考编写表达式。此示例中创建的表达式将 Solid 2的位置属性与 Solid 1的位置属性相链接,Solid 2的移动与 Solid 1的移动偏移量为
14、 2 秒。 o 创建两个实底图层:实底 1 和实底 2。 o 使用关键帧对实底 1 的位置属性值进行动画制作。 o 选择实底 2 的位置属性并选择“动画”“添加表达式”或者按住 Alt 键并单击 (Windows) 或按住 Option 键并单击该属性的秒表 按钮。默认情况下将显示以下表达式: ?transform.position o 直接在 transform.position 上键入以下内容: ?thisComp o 元素 thisComp 是一个全局属性,其值是一个表示当前合成的合成对象。要确定表达式中的 thisComp,请查看 thisComp 返回值,该值位于 全局对象、属性和方
15、法。 请注意,thisComp 返回的是合成对象。接下来,查看 Comp 属性和方法以查看哪些属性和方法可用于 Comp 对象。一种选项是 layer(index)。圆括号内的索引或数字指定您要使用的图层。在此示例中,我们假定实底 1 是您的合成中的第一个图层。要从活动合成中的第一个图层中检索值,请在表达式结尾键入 .layer(1),从而得到以下内容: ?thisComp.layer(1) o 此外,查看表达式元素参考以检查 layer(index) 返回的是图层对象。查看 图层常规属性和方法,并找出要使用的元素。例如,如果您要获得图层的位置属性的值,请在表达式结尾键入 .position
16、以得到以下内容: ?thisComp.layer(1).position o 从图层常规属性和方法中,可看到“位置”属性返回性质。查找性质属性和方法并了解可向表达式添加一个时间因素。要添加特定时间,例如当前时间外加 2 秒,请在表达式结尾键入 .valueAtTime(time+2) 以得到以下内容: ?thisComp.layer(1).position.valueAtTime(time+2) o 从性质属性和方法,了解 valueAtTime 方法返回的是数字或数列。当表达式返回数目、数组或布尔值时,您无法再向该表达式添加属性或方法。 显示表达式和表达式图表 在图表编辑器模式下,单个表达式
17、字段在图表编辑器底部显示为可调整大小的框并且仅为所选属性显示该表达式。要同时显示多个表达式字段,“时间轴”面板必须采用图层条模式。 要在图层条模式和图表编辑器模式之间切换,请按 Shift+F3 键。 要仅显示表达式的属性,请选择一个或多个图层,然后按 EE。 要在图表编辑器中显示表达式字段,请从图表编辑器底部的“选择图表类型和选项” 菜单中选择“显示表达式编辑器”。在向属性添加新的表达式后,将显示表达式编辑器,而不管此设置如何。 要调整表达式字段的大小,请向上或向下拖动其底边缘。 要了解表达式如何更改值或速度图表,请在图表编辑器中显示值或速度图表时,单击“显示后表达式图表”按钮 。 暗淡的彩
18、色图表显示应用表达式之前的值或速度,明亮的彩色图表显示应用表达式之后的值或速度。为位置属性打开图表叠加还会更改“合成”面板中显示的运动路径,以便您能够查看受表达式影响的路径。 您可以使用“时间轴”面板中的搜索字段来搜索表达式以及属性的其他组件。如果搜索字符串显示在表达式中,则属性及其包含的属性组和图层将显示在筛选的搜索结果集中。 为源文本编写表达式 文本图层的源文本属性由表达式解释为 JavaScript 字符串。您可以使用关联器从其他文本图层中检索源文本;然而,只会使用目标图层的第一个字符的样式。 有关 JavaScript 字符串对象的更多信息,请参阅 JavaScript 参考资源。 可
19、以在字符串表达式中使用“”开始一个新的文本行。例如,要将原始文本从一个图层复制到同一图层上,并在新行中用全部大写的字符重复原始文本,请使用以下表达式: ?text.sourceText+ +text.sourceText.toUpperCase 向合成添加文本图层并向其源文本属性添加表达式可能是检查其他图层的属性值的一种非常好的方法。例如,源文本属性的以下表达式以图层堆积顺序报告下一个图层的不透明度属性的名称和值: ?thisComp.layer(index + 1).name + Opacity = + thisComp.layer(index + 1).opacity.value 以下示例
20、在设置其“视频”开关的当前时间以堆积顺序报告用作最高图像图层源的素材项目的名称。 ?source_footage_name = ; ?for (i = 1; i= my_layer.inPoint time my_layer.outPoint) ?try ?source_footage_name = my_layer.source.name; ?catch(err1) ?source_footage_name = my_layer.name ? ?break; ? ? ?source_footage_name 向表达式添加注释 如果您编写复杂的表达式,并打算供您或其他人稍后使用,则应添加说明表
21、达式的作用及其组件如何工作的注释。 在注释开头键入 /。将忽略 / 和行尾之间的任何文本。例如:?/这是注释。 有关这种注释类型的示例,请参阅表达式示例:根据距离摄像机的距离,对 3D 图层进行淡化不透明度处理。 在注释开头键入 /* 并在注释结尾键入 */。将忽略 /* 和 */ 之间的任何文本。例如:?/*这是多行注释。* 有关这种注释类型的示例,请参阅保存并重新使用表达式。 保存和重用表达式 在您编写完表达式后,可以通过将其复制并粘贴到文本编辑应用程序或者通过将其保存在动画预设或模板项目中来保存表达式以供日后使用。然而,因为表达式的编写涉及项目中的其他图层且可能会使用特定图层名称,所以有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AE 表达式 基础知识

链接地址:https://www.31ppt.com/p-3152294.html