用户指南 取消(C)

脚本

脚本 是一系列的命令,它告知应用程序执行一系列操作。您可以在大多数 Adobe 应用程序中使用脚本来自动执行重复性任务、执行复杂计算,甚至使用一些没有通过图形用户界面直接显露的功能。例如,您可以指示 After Effects 对一个合成中的图层重新排序、查找和替换文本图层中的源文本,或者在渲染完成时发送一封电子邮件。

After Effects 脚本使用 Adobe ExtendScript 语言,该语言是 JavaScript 的一种扩展形式。ExtendScript 文件具有 .jsx.jsxbin 文件扩展名。

有关 After Effects 的可用脚本功能的介绍,请参阅 After Effects 脚本指南

加载和运行脚本

当 After Effects 启动时,它将从脚本文件夹加载脚本。对于 After Effects,脚本文件夹默认位于以下位置:

  • Windows:Program Files\Adobe\Adobe After Effects <version>\Support Files

  • macOS:Applications/Adobe After Effects <version>

After Effects 自带的几个脚本将自动安装在脚本文件夹中。通过文件 > 脚本菜单可以使用所有加载的脚本。

注意:
  • 如果您在 After Effects 运行期间编辑脚本,则必须保存更改以便应用更改。
  • 如果您在 After Effects 运行期间在脚本文件夹中放置了一个脚本,则必须重新启动 After Effects 以便该脚本出现在脚本菜单中,但您可以使用运行脚本文件命令立即运行这一新脚本。

可以从窗口菜单的底部使用 ScriptUI 面板文件夹中的脚本。如果编写脚本的目的是在一个可停靠面板中提供用户界面,则应将该脚本放在 ScriptUI 文件夹中。ScriptUI 面板的工作方式很像 After Effects 用户界面中的默认面板。

注意:

默认情况下,不允许脚本写入文件或通过网络进行双向通信。要允许脚本写入文件和通过网络进行通信,请执行以下操作:

  • Windows:选择编辑 > 首选项 > 脚本和表达式 > 选择允许脚本写入文件和访问网络
  • macOS:选择 After Effects > 设置 > 脚本和表达式 > 选择允许脚本写入文件和访问网络
  • 要运行已加载的脚本,请选择文件 > 脚本 > [脚本名称]

  • 要运行尚未加载的脚本,请选择文件 > 脚本 > 运行脚本文件,找到并选择脚本,选择打开

  • 要停止运行脚本,请按 Esc

  • 要从命令行运行脚本,请从命令行调用 afterfx.exe。以 -r 开关和要运行的脚本的完整路径为参数。此命令不会打开 After Effects 应用程序的新实例,它在现有实例中运行脚本。

    示例 (Windows):afterfx -r c:\script_path\example_script.jsx

注意:

您可以使用此命令行技术并结合带自定义键盘的软件,将脚本调用绑定到一个键盘快捷键。

您可以在 After Effects 中查看最近运行的 10 个脚本的列表。要查看此列表,请选择文件 > 脚本 > 最近的脚本文件

要重新运行 10 个最近运行的脚本中的任何一个,请执行以下操作:

  • macOS:Cmd + Option + Shift + D
  • Windows:Ctrl + Alt + Shift + D
注意:

AE 脚本网站上,Lloyd Alvarez 就在无法访问“脚本”或“ScriptUI 面板”文件夹的情况下如何运行 .jsxbin 脚本提供了一则提示。

After Effects 附带的脚本

After Effects 提供了几个预先写好的脚本来帮助您执行常见任务,您可将其作为修改和创建您自己的脚本的基础。

提示:

运行示例脚本 Demo Palette.jsx,了解脚本的功用。

编写和修改脚本

您可以使用脚本编辑器(ExtendScript 工具包的一部分)编写自己的要用于 After Effects 的脚本。ExtendScript 工具包为您创建、调试和测试自己的脚本提供了一个便利界面。有时,您需要做的只是对现有脚本稍加修改以便满足您的要求;这样的小改动常常无需多少计算机编程和脚本语言知识就能完成。

要启动脚本编辑器,请选择文件 > 脚本 > 打开脚本编辑器

有关更多信息,请参阅 After Effects 脚本指南

脚本访问

动态图形模板的脚本访问

使用以下脚本方法,脚本可以将属性添加到基本图形面板并导出“动态图形”模板:

  • 属性 canAddToMotionGraphicsTemplate() 方法
app.project.item(index).layer(index).propertySpec.canAddToMotionGraphicsTemplate(comp)
app.project.item(index).layer(index).propertySpec.canAddToMotionGraphicsTemplate(comp)
app.project.item(index).layer(index).propertySpec.canAddToMotionGraphicsTemplate(comp) 

测试是否可以将属性添加到指定合成的基本图形面板。如果可以添加属性,则返回 true,否则返回 false。如果不能添加属性,可能是因为它不是受支持的属性类型之一或属性已被添加到该合成。After Effects 显示警告对话框。
 

支持的属性类型:

  • 复选框
  • 颜色
  • 数字滑块(单值数值属性),如变换 > 不透明度滑块控件表达式控制效果
  • 源文本

参数

comp

要测试的合成将属性添加到 compItem。

返回:布尔值。


  • 属性 addToMotionGraphicsTemplate() 方法
app.project.item(index).layer(index).propertySpec.addToMotionGraphicsTemplate(comp)
app.project.item(index).layer(index).propertySpec.addToMotionGraphicsTemplate(comp)
app.project.item(index).layer(index).propertySpec.addToMotionGraphicsTemplate(comp)

将该属性添加到指定合成的基本图形面板。如果属性添加成功,则返回 true,否则返回 false。如果未添加属性,可能是因为它不是受支持的属性类型之一或属性已被添加到该合成。After Effects 将显示警告对话框。使用 canAddToMotionGraphicsTemplate() 方法来测试是否可以将属性添加到“动态图形”模板。

参数:

comp

要测试的合成将属性添加到 compItem。

返回:布尔值。


  • CompItem motionGraphicsTemplateName 属性
app.project.item(index).motionGraphicsTemplateName
app.project.item(index).motionGraphicsTemplateName
app.project.item(index).motionGraphicsTemplateName

在合成的基本图形面板中读取或写入名称属性。基本图形面板中的名称用于导出的动态图形模板的文件名称,如 My Template.mogrt。以下示例设置活动合成的名称,然后将其返回为警告:

app.project.activeItem.motionGraphicsTemplateName = “My Template”;
alert(app.project.activeItem.motionGraphicsTemplateName);
app.project.activeItem.motionGraphicsTemplateName = “My Template”; alert(app.project.activeItem.motionGraphicsTemplateName);
app.project.activeItem.motionGraphicsTemplateName = “My Template”;
alert(app.project.activeItem.motionGraphicsTemplateName);

类型:字符串;读/写。


  • CompItem exportAsMotionGraphicsTemplate() 方法
app.project.item(index).exportAsMotionGraphicsTemplate(doOverWriteFileIfExisting, file_path)
app.project.item(index).exportAsMotionGraphicsTemplate(doOverWriteFileIfExisting, file_path)
app.project.item(index).exportAsMotionGraphicsTemplate(doOverWriteFileIfExisting, file_path)

将合成导出为动态图形模板。如果动态图形模板导出成功,则返回 true,否则返回 false。基本图形面板中的名称用于动态图形模板的文件名称,如 My Template.mogrt。使用 motionGraphicsTemplateName 属性设置名称。(可选)指定保存动态图形模板文件的文件夹的路径。如果未指定,则文件会保存在当前用户的“Essential Graphics”文件夹中:

  • macOS:/Users//Library/Application Support/Adobe/Common/Essential Graphics/
  • Windows: C:\Users\\AppData\Roaming\Adobe\Common\Essential Graphics\

如果项目自上次保存后有更改,After Effects 会提示用户保存项目。为避免出现这种情况,请在导出“动态图形”模板之前使用项目保存 () 方法。

参数:

doOverWriteFileIfExisting

是否覆盖具有相同名称的现有文件、布尔值。 必填。

file_path

将保存文件的文件夹的路径。(可选)。

返回:布尔值。


  • CompItem openInEssentialGraphics() 方法
app.project.item(index).openInEssentialGraphics()
app.project.item(index).openInEssentialGraphics()
app.project.item(index).openInEssentialGraphics() 

在哪里查找更多实用脚本

Adobe Add-ons 网站上查找脚本、项目和其他有用项。

AE Enhancers 网站提供了示例脚本和关于 After Effects 中的脚本(以及表达式和动画预设)的有用信息。

更快、更轻松地获得帮助

新用户?