AE脚本一些用法

题记:最近公司后期需要在AE中导入某镜头的人物场景,加一些固定的特效。苦命的我一边研究官方提供的pdf一边google,花了差不多一周时间才搞定。


1,在AE中创建文件夹:

app.project.items.addFolder("myFolder");


2,判断文件夹是否存在:

function judgeLayer(layername) {

    for(var i = 1; i <= app.project.numItems; i++) {
        if(app.project.item(i).name == layername)
        {
            return false;
        }
    }
    return true;
};

3,找到一个文件夹对象:

function findFolderItemByName(name){  
        var found = false;  
        for (i = 1; i <= app.project.numItems; i++){  
            if (app.project.item(i).name == name && app.project.item(i) instanceof FolderItem ){  
                var myFolder = app.project.item(i);  
                found = myFolder;  
                break  
                }  
            }  
        return found;  
}  

4,,把文件或者文件夹放入一个父级文件夹中:

childFolder.parentFolder = findFolderItemByName("parentFolderName");

5,获取电脑中某个文件夹中的内容:

var folderObj = new Folder("folderPath");
var moveFileList = folderObj.getFiles();

6,导入序列文件到AE中:

var io = new ImportOptions();
io.file = new File("filePath");
io.sequence = true;
io.forceAlphabetical = true;
mySeq = app.project.importFile(io);
myDuration = mySeq.duration;<span style="font-family: Arial, Helvetica, sans-serif;"> </span><span style="font-family: Arial, Helvetica, sans-serif;"> </span>

myDuration参数表示导入的帧数


7,新建Comp:

var myComp = app.project.items.addComp("testComp", 1920, 1080, 1, 150/25, 25);
这里的 150/25表示的是,总共150帧,因为addComp函数接受的参数的单位是秒。


8,设置Comp的起始时间:

myComp.displayStartTime = 2/25;
这里是设置起始帧为1


9,将Comp中加Layer:

myComp.layers.add(myLayer);

10,设置Comp中某层的某属性:

myComp.layers.byName("test").Scale.setValue([80,80]);


11,将Comp中某层移到最下:

myComp.layers.byName("test").moveToEnd();

12,设置某层的时间:

var nowF = (inComp.layer(1).outPoint - inComp.layer(1).inPoint);
var tarF = timeDuration;
var stretchValue = 100*tarF/nowF;
inComp.layer(1).stretch = stretchValue;

13,设置某层的matte

myLayer.trackMatteType= TrackMatteType.ALPHA

14,给某层加特效

myLayer.Effects.addProperty("Roughen Edges")("Border").setValue(0);
myLayer("Effects")("Roughen Edges")("Scale").setValue(170);

15,加solid层

mySolidLayer = timeCodeComp.layers.addSolid([0,0,0],"solid",1920,1080,1,80/25);

16,给solid层加矩形mask

newMask = mySolidLayer.Masks.addProperty("ADBE Mask Atom");
newMask.maskMode = MaskMode.ADD;
newMask.color = [1,1,0];
myProperty = newMask.property("ADBE Mask Shape");
myShape = myProperty.value;
myShape.vertices = [[600, 70], [600,164], [38,164],[38,70]];    
myShape.closed = true; 
myProperty.setValue(myShape);

17,加text层

newText = new TextDocument("test");
var theTextLayer = timeCodeComp.layers.addText(newText);
theTextLayer.Position.setValue([163,143]);
var textProp = theTextLayer.property("Source Text");
var textDocument = textProp.value;
textDocument.fontSize=59;
textDocument.font = "Microsoft YaHei";
textDocument.justification = ParagraphJustification.CENTER_JUSTIFY;
textProp.setValue(textDocument);   

18,激活某个comp

myComp.openInViewer();






猜你喜欢

转载自blog.csdn.net/xdhstc/article/details/52329616
今日推荐