跳转到内容

合成项目

app.project.item(index)

app.project.items[index]

CompItem 对象表示一个合成,并允许你操作和获取有关它的信息。通过项目项集合中的位置索引号访问这些对象。

CompItem 是 AVItem 对象 的子类,而 AVItem 是 Item 对象 的子类。除了下面列出的方法和属性外,AVItem 和 Item 的所有方法和属性在处理 CompItem 时也可用。

假设项目中的第一个项是 CompItem,以下代码显示两个警告框。第一个显示 CompItem 中的图层数量,第二个显示 CompItem 中最后一个图层的名称。

var firstComp = app.project.item(1);
alert("图层数量为 " + firstComp.numLayers);
alert("最后一个图层的名称是 " + firstComp.layer(firstComp.numLayers).name);

app.project.item(index).activeCamera

活动的摄像机,即最前面的启用的摄像机图层。如果合成中没有启用的摄像机图层,则该值为 null

CameraLayer 对象;只读。


app.project.item(index).bgColor

合成的背景颜色。数组中的三个值分别指定颜色的红色、绿色和蓝色分量。

包含三个浮点值的数组 [R, G, B],范围为 [0.0..1.0];可读写。


app.project.item(index).counters

此方法/属性未正式记录,是通过研究发现的。此处信息可能不准确,且此方法/属性可能会在某个时刻消失或停止工作。如果你有更多信息,请贡献!

此属性在整个应用程序中起作用:如果在一个 CompItem 上更改,它将更改项目中每个 CompItem 的值。该值会一直保持,直到重新启动 AE。重新启动后,它将恢复为 false

此参数没有任何作用。

布尔值;可读写。


app.project.item(index).displayStartFrame

合成开始时的帧值。

此值是使用 CompItem.displayStartTimeCompItem.frameDuration 计算开始帧的替代方法,以补偿浮点数问题。

整数;可读写。


app.project.item(index).displayStartTime

设置为合成开始的时间,以秒为单位。这相当于合成设置对话框中的“开始时间码”或“开始帧”设置。

浮点值,范围为 [-10800.0..86339.0](-3:00:00:00 到 23:59:00:00);可读写。


app.project.item(index).draft3d

当为 true 时,合成面板中的“草稿 3D”模式已启用。这对应于合成面板中的“草稿 3D”按钮的值。

布尔值;可读写。


app.project.item(index).dropFrame

当为 true 时,表示合成使用丢帧时间码。当为 false 时,表示使用非丢帧时间码。这对应于合成设置对话框中的设置。

布尔值;可读写。


app.project.item(index).frameBlending

当为 true 时,此合成的帧混合已启用。这对应于合成面板中的“帧混合”按钮的值。

布尔值;如果为 true,则帧混合已启用;可读写。


app.project.item(index).frameDuration

一帧的持续时间,以秒为单位。这是 frameRate 值(每秒帧数)的倒数。

浮点值;可读写。


app.project.item(index).hideShyLayers

当为 true 时,仅显示 shy 设置为 false 的图层在时间轴面板中。当为 false 时,所有图层都可见,包括 shy 值为 true 的图层。这对应于合成面板中的“隐藏所有害羞图层”按钮的值。

布尔值;可读写。


app.project.item(index).layers

一个 LayerCollection 对象,包含此合成中所有图层的 Layer 对象。

LayerCollection 对象;只读。


app.project.item(index).markerProperty

一个 PropertyGroup 对象,包含合成的所有标记。合成标记脚本的功能与 图层标记 相同。

参见 MarkerValue 对象

PropertyGroup 对象或 null;只读。

以下示例代码创建一个项目和合成,然后创建两个具有不同属性的合成标记。

// comp.markerProperty 允许你向合成添加标记。
// 它的功能与 layer.property("Marker") 相同
var currentProj = app.newProject();
var comp = currentProj.items.addComp("mycomp", 1920, 1080, 1.0, 5, 29.97);
var solidLayer = comp.layers.addSolid([1, 1, 1], "mylayer", 1920, 1080, 1.0);
var compMarker = new MarkerValue("这是一个合成标记!");
compMarker.duration = 1;
var compMarker2 = new MarkerValue("另一个合成标记!");
compMarker2.duration = 1;
comp.markerProperty.setValueAtTime(1, compMarker);
comp.markerProperty.setValueAtTime(3, compMarker2);

app.project.item(index).motionBlur

当为 true 时,合成的运动模糊已启用。这对应于合成面板中的“运动模糊”按钮的值。

布尔值;可读写。


app.project.item(index).motionBlurAdaptiveSampleLimit

2D 图层运动的最大运动模糊采样数。这对应于合成设置对话框高级选项卡中的“自适应采样限制”设置。

整数(介于 16 和 256 之间);可读写。


app.project.item(index).motionBlurSamplesPerFrame

经典 3D 图层、形状图层和某些效果的每帧最小运动模糊采样数。这对应于合成设置对话框高级选项卡中的“每帧采样数”设置。

整数(介于 2 和 64 之间);可读写。


CompItem.motionGraphicsTemplateControllerCount

Section titled “CompItem.motionGraphicsTemplateControllerCount”

app.project.item(index).motionGraphicsTemplateControllerCount

合成在 Essential Graphics 面板中的属性数量。

整数;只读。


app.project.item(index).motionGraphicsTemplateName

读取或写入合成在 Essential Graphics 面板中的名称属性。

Essential Graphics 面板中的名称用于导出的 Motion Graphics 模板的文件名(例如,“My Template.mogrt”)。

以下示例将为活动合成设置名称,然后将其作为警告框返回。

app.project.activeItem.motionGraphicsTemplateName = "我的模板";
alert(app.project.activeItem.motionGraphicsTemplateName);

字符串;可读写。


app.project.item(index).numLayers

合成中的图层数量。

整数;只读。


app.project.item(index).preserveNestedFrameRate

当为 true 时,嵌套合成的帧速率在当前合成中保留。这对应于合成设置对话框高级选项卡中的“嵌套或渲染队列时保留帧速率”选项。

布尔值;可读写。


app.project.item(index).preserveNestedResolution

当为 true 时,嵌套合成的分辨率在当前合成中保留。这对应于合成设置对话框高级选项卡中的“嵌套时保留分辨率”选项。

布尔值;可读写。


app.project.item(index).renderer

用于渲染此合成的当前渲染插件模块,如合成设置对话框高级选项卡中所设置。允许的值是 CompItem.renderers 的成员。

字符串;可读写。


app.project.item(index).renderers

可用的渲染插件模块。成员字符串反映了已安装的模块,如合成设置对话框高级选项卡中所见。

字符串数组;只读。


app.project.item(index).resolutionFactor

渲染合成的 x 和 y 下采样分辨率因子。数组中的两个值指定采样时要跳过的像素数;第一个数字控制水平采样,第二个控制垂直采样。全分辨率为 [1, 1],半分辨率为 [2, 2],四分之一分辨率为 [4, 4]。默认值为 [1, 1]

两个整数的数组,范围为 [1..99];可读写。


app.project.item(index).selectedLayers

此合成中所有选中的图层。这是一个基于 0 的数组(第一个对象位于索引 0)。

Layer 对象数组;只读。


app.project.item(index).selectedProperties

此合成中所有选中的属性(Property 和 PropertyGroup 对象)。第一个属性位于索引位置 0。

PropertyPropertyGroup 对象数组;只读。


app.project.item(index).shutterAngle

合成的快门角度设置。这对应于合成设置对话框高级选项卡中的“快门角度”设置。

整数,范围为 [0..720];可读写。


app.project.item(index).shutterPhase

合成的快门相位设置。这对应于合成设置对话框高级选项卡中的“快门相位”设置。

整数,范围为 [-360..360];可读写。


app.project.item(index).workAreaDuration

工作区域的持续时间,以秒为单位。这是合成工作区域的起点和终点时间之差。

浮点值;可读写。


app.project.item(index).workAreaStart

合成工作区域开始的时间,以秒为单位。

浮点值;可读写。


app.project.item(index).duplicate()

创建并返回此合成的副本,其中包含与原始合成相同的图层。

无。

CompItem 对象。


app.project.item(index).exportAsMotionGraphicsTemplate(doOverWriteFileIfExisting[, file_path])

将合成导出为 Motion Graphics 模板。如果 Motion Graphics 模板成功导出,则返回 true,否则返回 false

Essential Graphics 面板中的名称用于 Motion Graphics 模板的文件名(例如,“My Template.mogrt”)。 使用 motionGraphicsTemplateName 属性设置名称。

可以选择指定保存 Motion Graphics 模板文件的文件夹路径。如果未指定,文件将保存在当前用户的 Motion Graphics 模板文件夹中:

操作系统路径
macOS/Users/<name>/Library/Application Support/Adobe/Common/Motion Graphics Templates/
WindowsC:\Users\<name>\AppData\Roaming\Adobe\Common\Motion Graphics Templates\

如果项目自上次保存以来已更改,After Effects 将提示用户保存项目。为避免此情况,请在导出 Motion Graphics 模板之前使用项目的 save() 方法。

参数类型描述
doOverWriteFileIfExisting布尔值是否覆盖同名的现有文件。
file_path字符串可选。保存文件的文件夹路径。

布尔值。


CompItem.getMotionGraphicsTemplateControllerName()

Section titled “CompItem.getMotionGraphicsTemplateControllerName()”

app.project.item(index).getMotionGraphicsTemplateControllerName(index)

获取基本图形面板中单个属性的名称。

参数类型描述
index整数要返回名称的EGP属性索引

字符串;只读。


CompItem.setMotionGraphicsControllerName()

Section titled “CompItem.setMotionGraphicsControllerName()”

app.project.item(index).setMotionGraphicsControllerName(index, newName)

设置基本图形面板中单个属性的名称。

参数类型描述
index整数要重命名的EGP属性索引
newName字符串EGP属性的新名称

字符串;只读。


app.project.item(index).layer(index)

app.project.item(index).layer(otherLayer, relIndex)

app.project.item(index).layer(name)

返回一个图层对象,可以通过名称、该合成中图层的索引位置或相对于另一个图层的索引位置来指定。

参数类型 (范围 [1..numLayers],其中numLayers是合成中的图层数量)描述
index整数该合成中所需图层的索引编号

或:

参数类型 (本合成中的图层对象)描述
otherLayer图层对象relIndex值将添加到此图层的索引值以查找所需图层的位置
relIndex整数 (范围 [1 - otherLayer.index .. numLayers - otherLayer.index])所需图层相对于otherLayer的位置。此值将添加到otherLayer值以派生绝对索引

或:

参数类型描述
name字符串所需图层名称

图层对象


app.project.item(index).openInEssentialGraphics()

在基本图形面板中打开合成。

无。

无。


app.project.item(index).openInViewer()

在合成面板中打开合成,并将合成面板置于前端并给予焦点。

无。

合成面板的查看器对象,如果无法打开合成则返回null