为什么使用表达式?
节省时间和快速创建动画。使用表达式,您可以自动化操作(例如,摆动、抖动或跳动)。这会节省大量时间,因为您不必为每个动作创建新的关键帧。以下是几个帮助您入门的例子:
链接不同的属性。
您可以使用表达式链接不同的属性,例如,跨合成的旋转和位置。链接可帮助您创建不同的动画,而无需为每个动画编写不同的表达式。
创建运动信息图。
您可以在创建动态图形模板时使用表达式。调整不同的属性、链接动画并修改 After Effects MOGRT。
控制多个图层以创建复杂动画。
使用“关联器”功能,您可以轻松地从一些控件驱动多个动画以创建动画,用其他功能则需要更多操作。
创建动画图形和图表。
快速创建动画和运动信息图,例如动态世界地图和指示不同国家/地区的污染指数的动态条形图。
保存和重用表达式。
将表达式存储为模板并在其他 After Effects 项目中重复使用。
表达式 UI
在开始使用表达式之前,第一步是了解用户界面。使用以下步骤快速入门:
- 创建一个合成,然后选择“图层>新建>纯色”以创建实体图层。
- 在时间轴面板中,选择图层,然后按键盘上的 S 以显示缩放属性。自此,您的使用表达式的旅程将开始。
- 让我们创建一个表达式。在时间轴面板中,按住 Alt 键并单击 (Win) 或按住 Option 并单击 (Mac)“位置”旁边的秒表,将表达式添加到属性。After Effects 为您可以稍后修改的所有属性分配默认表达式。
- 请注意创建表达式后用户界面发生的更改。首先,“缩放”属性的值(显示为 100,100)从蓝色变为红色。红色表示该值具有活动表达式。
- 看到 twirls 显示在秒表的左侧,请单击打开它。使用它来公开表达式本身。
- 第一个按钮看起来像等号(“=”),并开启和关闭表达式。当表达式启用时,它会显示为蓝色。
- 第二个按钮会在图表编辑器中显示一段时间内表达式的值。
- 带有小螺旋线的第三个按钮是可用于帮助构造表达式的关联器。
- 第四个按钮会打开“表达式语言”菜单,该菜单可用于帮助构造表达式。
- 最后,在四个按钮的右侧,您可以查看默认表达式 transform.position。如果要更改表达式,请单击时间轴中的表达式文本以激活表达式编辑器字段。其工作方式与任何文本字段一样,复制、粘贴、选择或拖动文本。按 Enter 键会创建一个新行,并可调整高度。单击它,然后键入所需的表达式,例如“晃动”(3,50)。要了解更多信息,请参阅编辑表达式。
表达式和关键帧
在向某一属性添加表达式后,可以继续为该属性添加或编辑关键帧。表达式可以采用某一属性值(由其关键帧确定)并使用该值作为生成新的修改值的输入。例如,除了已设置关键帧的运动外,图层的旋转属性上的 value+90 表达式还会将旋转属性的值增大 90 度。
某些方法(例如摆动)直接在现有属性值上操作。
图层的位置属性的wiggle(10, 10) 表达式会保留图层的关键帧的运动并使其稍微摆动一点。
在表达式中使用简单的数学
包含表达式的属性的值显示为红色或粉红色类型。
开始使用表达式的一种好方法是使用关联器创建简单表达式,然后使用简单数学运算(例如下表中所列的运算)调整表达式的行为:
符号 | 函数 |
---|---|
+ | 相加 |
- | 相减 |
/ | 相除 |
* | 相乘 |
*-1 | 执行与原来相反的操作,例如逆时针,而非顺时针. |
例如,可以通过在表达式结尾键入 *2 将结果增大一倍;也可以通过在表达式结尾键入 /2 将结果减小一半。
在编制适合编辑的表达式时,可以结合这些简单的运算以及更多运算。例如,可以将 /360*100 添加到表达式结尾以将其范围从 0-360 更改到 0-100。如果您要将 360 度刻度盘的值转换为按百分比计算的滑块,此更改将很有帮助。
“表达式语言”菜单
“表达式语言”菜单
“时间轴”面板中的“表达式语言”菜单包含可在表达式中使用的特定于 After Effects 的语言元素。此菜单有助于确定有效元素及其正确语法;可使用其作为可用元素的参考。当您从菜单中选择任何对象、属性或方法时,After Effects 会在表达式字段中的插入点将其自动插入。如果选中表达式字段中的文本,新表达式文本将替换所选文本。如果插入点不在表达式字段中,新表达式文本将替换该字段中的所有文本。
可以使用的常用表达式
Wiggle
随机摆动
“摆动”表达式是最常见的 After Effects 表达式之一。摆动表达式的作用完全如其名称所示,它会导致属性以随机量晃动。此表达式可用于使您的场景看起来更加自然。
括号之间的数字会控制摆动:第一个数字是每秒的摇摆数,而第二个数字是摆动的量。因此,使用 wiggle(2,30) 表达式的定位属性摆动 2 次,最多 30 像素的。
时间
每秒无限旋转 40 度
Time 表达式适用于具有永久运动的对象。例如,如果要让对象无限旋转,可以将表达式 time 添加到旋转属性,且对象每秒钟旋转 1 度。它还适用于基本数学公式,因此,如果您希望让之前的对象以 40 倍的速度更快地旋转,就使用表达式 time*40。
循环
循环入点和出点
如果您使用多个关键帧来创建重复的动画,则可能会非常耗时。而应使用 loop 表达式自动执行此过程,并创建复杂的循环动画。有两种类型的循环,loopIn 和 loopOut(更常用)。因此,带有表达式 loopOut() 或 loopOut ("cycle") 的旋转属性可循环播放您的动画,直到时间轴结束。
手动编辑表达式
- 单击表达式字段进入文本编辑模式。注意:在您进入文本编辑模式后,会选中整个表达式。要添加到表达式,请在表达式中单击以放置插入点;否则,您将替换整个表达式。
- 在表达式字段中键入和编辑文本,可以选择使用“表达式语言”菜单。
- 要退出文本编辑模式并激活表达式,请执行下列操作之一:
- 按数字小键盘上的 Enter 键。
- 在表达式字段外部单击。
在表达式编辑器中自定义表达式的外观
时间轴面板中的表达式编辑器
您可以使用“脚本和表达式”首选项,在表达式编辑器(位于时间轴面板中)中自定义表达式外观。要打开它,请选择“After effect>首选项>脚本和表达式”(Mac) 或“应用程序>首选项>”。表达式”(Win)。
上次更新日期: 2023年5月25日
原文链接:https://helpx.adobe.com/cn/after-effects/using/expression-basics.html