用户指南 取消(C)

表达式基础知识

  1. After Effects 用户指南
  2. Beta 版
    1. Beta 版项目概述
    2. After Effects Beta 版主页
  3. 快速入门
    1. After Effects 快速入门
    2. After Effects 的新增功能 
    3. 发行说明 | After Effects
    4. After Effects 系统要求
    5. After Effects 中的键盘快捷键
    6. 支持的文件格式 | After Effects
    7. 硬件建议
    8. 适用于 Apple Silicon 的 After Effects
    9. 规划和设置
  4. 工作区
    1. 常规用户界面项
    2. 了解 After Effects 界面
    3. 工作流程
    4. 工作区、面板和查看器
  5. 项目与合成
    1. 项目
    2. 合成基础知识
    3. 预合成、嵌套和预渲染
    4. 使用合成分析器查看详细的性能信息
    5. CINEMA 4D 合成渲染器
  6. 导入素材
    1. 准备并导入静止图像
    2. 从 After Effects 和 Adobe Premiere Pro 导入
    3. 导入和解释视频与音频
    4. 准备和导入 3D 图像文件
    5. 导入和解释素材项目
    6. 使用素材项目
    7. 使用“场景编辑检测”检测编辑点
    8. XMP 元数据
  7. 文本和图形
    1. 文本
      1. 设置字符格式和“字符”面板
      2. 文本效果
      3. 创建和编辑文本图层
      4. 设置段落格式和“段落”面板
      5. 凸出文本和形状图层
      6. 为文本设置动画
      7. 文本动画的示例和资源
      8. 实时文本模板
    2. 动态图形
      1. 在 After Effects 中使用动态图形模板
      2. 使用表达式在动态图形模板中创建下拉列表
      3. 使用“基本属性”创建动态图形模板
      4. 替换动态图形模板和基本属性中的图像和视频
      5. 使用“属性”面板更快、更轻松地制作动画
  8. 绘图、绘画和路径
    1. 形状图层、路径和矢量图形的概述
    2. 绘画工具:笔刷、仿制图章和橡皮擦
    3. 将形状描边椎体化
    4. 形状图层的形状属性、绘画操作和路径操作
    5. 使用“位移路径”形状效果更改形状
    6. 创建形状
    7. 创建蒙版
    8. 使用内容识别填充面板,移除视频中的对象
    9. Roto 笔刷和调整遮罩
  9. 图层、标记和摄像机
    1. 选择和排列图层
    2. 混合模式和图层样式
    3. 3D 图层
    4. 图层属性
    5. 创建图层
    6. 管理图层
    7. 图层标记和合成标记
    8. 摄像机、光和目标点
  10. 动画、关键帧、运动跟踪和抠像
    1. 动画
      1. 动画基础知识
      2. 使用人偶工具制作动画
      3. 管理形状路径和蒙版并对其进行动画制作
      4. 使用 After Effects 为 Sketch 和 Capture 形状制作动画
      5. 分类动画工具
      6. 使用数据驱动的动画
    2. 关键帧
      1. 关键帧插值
      2. 设置、选择和删除关键帧
      3. 编辑、移动和复制关键帧
    3. 运动跟踪
      1. 跟踪和稳定运动
      2. 人脸跟踪
      3. 蒙版跟踪
      4. 蒙版引用
      5. 速度
      6. 时间拉伸和时间重映射
      7. 时间码和时间显示单位
    4. 抠像
      1. 抠像
      2. 抠像效果
  11. 透明度与合成
    1. 合成和透明度概述及资源
    2. Alpha 通道和遮罩
    3. 轨道遮罩和移动遮罩
  12. 调整颜色
    1. 颜色基础知识
    2. 色彩管理
    3. 颜色校正效果
    4. OpenColorIO 和 ACES 色彩管理
  13. 效果和动画预设
    1. 效果和动画预设概述
    2. 效果列表
    3. 效果管理器
    4. 模拟效果
    5. 风格化效果
    6. 音频效果
    7. 扭曲效果
    8. 透视效果
    9. 通道效果
    10. 生成效果
    11. 过渡效果
    12. 果冻效应修复效果
    13. 模糊和锐化效果
    14. 3D 通道效果
    15. 实用效果
    16. 遮罩效果
    17. 杂色和颗粒效果
    18. 保留细节放大效果
    19. 旧版效果
  14. 表达式和自动化
    1. 表达式
      1. 表达式基础知识
      2. 了解表达式语言
      3. 使用表达式控件
      4. JavaScript 与旧版 ExtendScript 表达式引擎之间的语法差别
      5. 正在编辑表达式
      6. 表达式错误
      7. 使用表达式编辑器
      8. 使用表达式编辑和访问文本属性
      9. 表达式语言引用
      10. 表达式示例
    2. 自动化
      1. 自动化
      2. 脚本
  15. 沉浸式视频、VR 和 3D
    1. 在 After Effects 中构造 VR 环境
    2. 应用沉浸式视频效果
    3. 用于 VR/360 视频的合成工具
    4. 高级 3D 渲染器
    5. 将 3D 模型导入并添加到合成中
    6. 从 Creative Cloud Libraries 导入3D 模型
    7. 基于图像的光照
    8. 从 3D 模型中提取光线和相机并为其制作动画
    9. 跟踪 3D 摄像机运动
    10. 投影和接受阴影
    11. 使用 3D 设计空间
    12. 3D 变换 Gizmo
    13. 使用 3D 动画执行更多操作
    14. 使用 Mercury 3D 引擎实时预览对 3D 设计的更改
    15. 向图形添加响应式设计
  16. 视图和预览
    1. 预览
    2. 使用 Mercury Transmit 进行视频预览
    3. 修改和使用视图
  17. 渲染和导出
    1. 渲染和导出基础知识
    2. After Effects 中的 H.264 编码
    3. 将 After Effects 项目导出为 Adobe Premiere Pro 项目
    4. 转换影片
    5. 多帧渲染
    6. 自动渲染和网络渲染
    7. 渲染和导出静止图像及静止图像序列
    8. 在 After Effects 中使用 GoPro CineForm 编解码器
  18. 使用其他应用程序
    1. Dynamic Link 和 After Effects
    2. 使用 After Effects 和其他应用程序
    3. After Effects 中的同步设置
    4. After Effects 中的 Creative Cloud Libraries
    5. 增效工具
    6. Cinema 4D 和 Cineware
  19. 协作:Frame.io 和团队项目
    1. 在 Premiere Pro 和 After Effects 中协作
    2. Frame.io
      1. 安装和激活 Frame.io
      2. 将 Frame.io 与 Premiere Pro 和 After Effects 搭配使用
      3. 常见问题解答
    3. 团队项目
      1. 开始使用团队项目
      2. 创建团队项目
      3. 使用团队项目进行协作
  20. 内存、存储、性能
    1. 内存和存储
    2. After Effects 处理预览时内存不足问题的方式    
    3. 提高性能
    4. 首选项
    5. After Effects 的 GPU 和 GPU 驱动程序要求
  21. 知识库
    1. 已知问题
    2. 已修复的问题
    3. 常见问题解答
    4. After Effects 和 macOS Ventura
    5. After Effects 处理预览时内存不足问题的方式

了解创建和使用表达式的基础知识。

表达式

当您想创建和链接复杂的动画,但想避免手动创建数十乃至数百个关键帧时,请尝试使用表达式。表达式是一小段代码,与脚本非常相似 - 您可以将其插入到 After Effects 项目中,以便在特定时间点为单个图层属性计算单个值。

与脚本(告知应用程序执行某些操作)不同,表达式会告诉属性执行某种操作。例如,您在屏幕上从左到右移动了一个球,但您也希望该球晃动。您可以向其应用“摆动”表达式,而不是使用关键帧对“定位”属性进行动画制作。

表达式语言基于标准的 JavaScript 语言,但您不必了解 JavaScript 就能入门。您可以创建表达式,方法是使用关联器或者复制简单示例并修改示例以满足您的需求。如需了解更多相关信息,请参阅了解表达式语言。

以下是循环使用表达式的基本示例:

为什么使用表达式?

节省时间和快速创建动画。
使用表达式,您可以自动化操作(例如,摆动、抖动或跳动)。这会节省大量时间,因为您不必为每个动作创建新的关键帧。以下是几个帮助您入门的例子:

链接不同的属性。

您可以使用表达式链接不同的属性,例如,跨合成的旋转和位置。链接可帮助您创建不同的动画,而无需为每个动画编写不同的表达式。

创建运动信息图。

您可以在创建动态图形模板时使用表达式。调整不同的属性、链接动画并修改 After Effects MOGRT。

控制多个图层以创建复杂动画。

使用“关联器”功能,您可以轻松地从一些控件驱动多个动画以创建动画,用其他功能则需要更多操作。

创建动画图形和图表。

快速创建动画和运动信息图,例如动态世界地图和指示不同国家/地区的污染指数的动态条形图。

保存和重用表达式。

将表达式存储为模板并在其他 After Effects 项目中重复使用。无需重新发明轮子!

表达式 UI

在开始使用表达式之前,第一步是了解用户界面。使用以下步骤快速入门:

  1. 创建一个合成,然后选择“图层>新建>纯色”以创建实体图层。

  2. 时间轴面板中,选择图层,然后按键盘上的 S 以显示缩放属性。自此,您的使用表达式的旅程将开始。

    表达式

  3. 让我们创建一个表达式。在时间轴面板中,按住 Alt 键并单击 (Win) 或按住 Option 并单击 (Mac)“位置”旁边的秒表,将表达式添加到属性。After Effects 为您可以稍后修改的所有属性分配默认表达式。

  4. 请注意创建表达式后用户界面发生的更改。首先,“缩放”属性的值(显示为 100,100)从蓝色变为红色。红色表示该值具有活动表达式。

    表达式打开

  5. 看到 twirls 显示在秒表的左侧,请单击打开它。使用它来公开表达式本身。

    • 第一个按钮看起来像等号(“=”),并开启和关闭表达式。当表达式启用时,它会显示为蓝色。
    • 第二个按钮会在图表编辑器中显示一段时间内表达式的值。
    • 带有小螺旋线的第三个按钮是可用于帮助构造表达式的关联器。 
    • 第四个按钮会打开“表达式语言”菜单,该菜单可用于帮助构造表达式。
    表达式选项

  6. 最后,在四个按钮的右侧,您可以查看默认表达式 transform.position。如果要更改表达式,请单击时间轴中的表达式文本以激活表达式编辑器字段。其工作方式与任何文本字段一样,复制、粘贴、选择或拖动文本。按 Enter 键会创建一个新行,并可调整高度。单击它,然后键入所需的表达式,例如“晃动”(3,50)。要了解更多信息,请参阅编辑表达式

    编辑表达式

表达式和关键帧

After Effects 中可进行动画处理的所有属性均具有预表达式值后表达式值

预表达式值只是应用任何表达式(静态或由关键帧设置动画)之前的属性值。您可以将预表达式值视为类似于图层像素,而不应用任何效果。然后,表达式可以修改或使用这些预表达式值,就像效果更改或使用图层的像素一样,从而生成后表达式值。 

UI 中属性值的突出显示颜色指示属性使用的是预表达式值还是后表达式值;预表达式值为蓝色,而后表达式值则为红色

可以使用属性值在表达式中访问任何属性的预表达式值。例如,旋转属性上的表达式 value+90 会使该属性在应用表达式之前的值增加 90 度。这也适用于关键帧值;如果旋转的关键帧范围为 045,则相同的 value+90 表达式将使其从 90135 进行动画制作。关键帧的值也可以通过 key(index).value 进行类似的访问,使用 1 作为 index 来获取第一个关键帧的值,使用 2 作为第二个关键帧的值,依此类推。属性 numKeys 将始终等于属性上的关键帧数,因此 key(numKeys).value 是最后一个关键帧的值。

某些方法(如 wiggle() 或各种循环等)会隐式使用预表达式值。

例如,如果属性的值为 0,表达式 wiggle(10, 10) 将在 -1010 之间设置动画,并在其现有值周围添加摆动动作。将表达式应用于关键帧属性并在原始动画值之上创建辅助动画时也是如此。请参阅属性特性和方法(表达式引用)

在表达式中使用简单的数学

包含表达式的属性的值显示为红色或粉红色类型。

开始使用表达式的一种好方法是使用关联器创建简单表达式,然后使用简单数学运算(例如下表中所列的运算)调整表达式的行为:

符号

函数

+

相加

-

相减

/

相除

*

相乘

*-1

执行与原来相反的操作,例如逆时针,而非顺时针.

例如,可以通过在表达式结尾键入 *2 将结果增大一倍;也可以通过在表达式结尾键入 /2 将结果减小一半。

在编制适合编辑的表达式时,可以结合这些简单的运算以及更多运算。例如,可以将 /360*100 添加到表达式结尾以将其范围从 0-360 更改到 0-100。如果您要将 360 度刻度盘的值转换为按百分比计算的滑块,此更改将很有帮助。

“表达式语言”菜单

“表达式语言”菜单
“表达式语言”菜单

“时间轴”面板中的“表达式语言”菜单包含可在表达式中使用的特定于 After Effects 的语言元素。此菜单有助于确定有效元素及其正确语法;可使用其作为可用元素的参考。当您从菜单中选择任何对象、属性或方法时,After Effects 会在表达式字段中的插入点将其自动插入。如果选中表达式字段中的文本,新表达式文本将替换所选文本。如果插入点不在表达式字段中,新表达式文本将替换该字段中的所有文本。

可以使用的常用表达式

Wiggle

wiggle
随机摆动

“摆动”表达式是最常见的 After Effects 表达式之一。摆动表达式的作用完全如其名称所示,它会导致属性以随机量晃动。此表达式可用于使您的场景看起来更加自然。

括号之间的数字会控制摆动:第一个数字是每秒的摇摆数,而第二个数字是摆动的量。因此,使用 wiggle(2,30) 表达式的定位属性摆动 2 次,最多 30 像素的。

时间

time*40
每秒无限旋转 40 度

Time 表达式适用于具有永久运动的对象。例如,如果要让对象无限旋转,可以将表达式 time 添加到旋转属性,且对象每秒钟旋转 1 度。它还适用于基本数学公式,因此,如果您希望让之前的对象以 40 倍的速度更快地旋转,就使用表达式 time*40

循环

loop_out
循环入点和出点

如果您使用多个关键帧来创建重复的动画,则可能会非常耗时。而应使用 loop 表达式自动执行此过程,并创建复杂的循环动画。有两种类型的循环,loopIn loopOut(更常用)。因此,带有表达式 loopOut()loopOut ("cycle") 的旋转属性可循环播放您的动画,直到时间轴结束。

更多此类示例,请参阅表达式示例

手动编辑表达式

  1. 单击表达式字段进入文本编辑模式。

    注意:

    在您进入文本编辑模式后,会选中整个表达式。要添加到表达式,请在表达式中单击以放置插入点;否则,您将替换整个表达式。

  2. 在表达式字段中键入和编辑文本,可以选择使用“表达式语言”菜单。
  3. 要退出文本编辑模式并激活表达式,请执行下列操作之一:
    • 按数字小键盘上的 Enter 键。

    • 在表达式字段外部单击。

在表达式编辑器中自定义表达式的外观

时间轴面板中的表达式编辑器
时间轴面板中的表达式编辑器

您可以使用脚本和表达式”首选项,在表达式编辑器(位于时间线面板中)中自定义表达式外观。

要打开表达式编辑器

  • macOS:选择 After Effects > 首选项 > 脚本和表达式
  • Windows:选择编辑 > 首选项 > 脚本和表达式

观看以下视频以开始探索表达式。

更多表达式资源

当您领会了表达式背后的一些概念之后,请前往社区观看一些真实案例并分享您的作品。

您还可通过 MotionScript 网站查看 Dan Ebberts 宝贵收藏,其中包含了相关的表达式示例和教程。

AE Enhancer 论坛也提供了有关表达式、脚本和动画预设的许多示例和大量信息。

 Adobe

更快、更轻松地获得帮助

新用户?