美文网首页影视后期After Effects
关于After Effect脚本的一点皮毛...

关于After Effect脚本的一点皮毛...

作者: 丶夏小正 | 来源:发表于2017-12-01 03:35 被阅读61次

诶,一直以来基本都是在看别人的博客,自己基本没有写什么东西,需要用的时候就是各种找资料,各种翻文档。12月份的第一天,想想自己也应该要养成一个写总结的习惯吧。嗯,第一次写,如果有人看的话还希望不要介意。

先从Item开始说吧


文档中对Item的说明是:Item对象表示可以出现在项目面板中的项。第一个Item的索引是1。在Project面板中能找到的东西都是一个一个的Item,Item分为两种,一个是AVItem,一个是FolderItem。FolderItem,顾名思义就是文件夹Item,比如我们在点击文件夹图标的时候创建出来的就是一个FolderItem,AVItem又分为CompItem、FootageItem等等、一下子只能想到这么多了= =
当然不管是AVItem还是FolderItem,都是有Item派生出来的,都会有的基本属性如下:

Item的基本属性

属性 含义 类型
Item.comment 添加注释 可读写
Item.id 内部识别的唯一ID 只读
Item.label 表示Item的标签颜色 可读写
Item.name Item的名字 可读写
Item.parentFolder 父级文件夹 可读写
Item.selected 是否被选择 可读写
Item.typeName Item的类型名称 只读
举例

获取工程中所有的Item名称及其类型:

for (var i = 1; i <= app.project.numItems; i++){
    var myItem = app.project.item(i);
    alert(myItem.name + " is " + myItem.typeName, "item " + i);
}

在JavaScript中判断类型是用instanceof判断,比如判断一个Item是不是文件夹:

if (myItem instanceof FolderItem){
     alert(myItem.name + " is a Folder Item");
}

当然了,因为Item的typeName属性,还可以通过typeName来判断Item的类型:

if (myItem.typeName === "Folder"){
     alert(myItem.name + " is a Folder Item");
 }

Item的基本方法

创建Item所需要使用的对象是ItemCollection,

app.project.items;

ItemCollection表示的是一些Item对象的集合,ItemCollection有两个方法用来创建Item对象

创建FolderItem

var folderItem = app.project.items.addFolder(name);

这个方法用于创建一个新的文件夹。创建并返回一个新的FolderItem对象并将其添加到这个集合中。如果ItemCollection属于根文件夹,则新文件夹的parentFolder是根文件夹。如果ItemCollection属于任何其他文件夹,那么新文件夹的parentFolder就是该文件夹。

参数
参数 描述
name 创建的文件夹名称
返回值

返回一个FolderItem

举例
// 创建一个新的FolderItem,名为“comps”
var compFolder = app.project.items.addFolder("comps");
// 将所有的CompItem移动到创建的comps文件夹中
for (var i = 1; i <= app.project.numItems; i++) {
    if (app.project.item(i) instanceof CompItem)
        app.project.item(i).parentFolder = compFolder;
}
// 弹出对话框,显示comps文件夹中的Comp个数
alert("CompItem Count: " + compFolder.numItems, "Count");

创建CompItem

 app.project.items.addComp(name, width, height, pixelAspect, duration, frameRate);

这个方法用于创建一个新的合成Comp。创建并返回一个新的CompItem对象并将其添加到这个集合中。如果ItemCollection属于根文件夹,则新的Comp的parentFolder是根文件夹。如果ItemCollection属于任何其他文件夹,则新的Comp的parentFolder是该文件夹。

参数
参数 描述
name 创建的Comp名称
width 创建的Comp宽,范围[4 , 30000]的整数值 (单位:像素)
height 创建的Comp高,范围[4 , 30000]的整数值 (单位:像素)
pixelAspect 创建的Comp像素纵横比,范围[0.01 , 100.0]的浮点值。
duration 创建的Comp时间范围,范围[0.0, 10800.0]的浮点值(单位:秒)
frameRate 创建的Comp帧速率,范围[1.0, 99.0]的浮点值
返回值

返回一个CompItem

举例
var myComp = app.project.items.addComp("my comp", 1920, 1080, 1.0, 5, 25);
myComp.parentFolder = compFolder;

嗯,,,,先写这么些吧,,好像有点太那啥了,,后面慢慢地再接着写吧。。。

相关文章

网友评论

    本文标题:关于After Effect脚本的一点皮毛...

    本文链接:https://www.haomeiwen.com/subject/wiqibxtx.html