After Effects脚本:如何将具有开始时间显示的合成添加到合成

时间:2017-09-26 11:06:53

标签: javascript after-effects

我有三个作文(compFinalcompSlide1compSlide2)。

我使用了一个脚本将compSlide1compSlide2添加到compFinal合成中。

我使用以下代码添加合成:

compFinal.layers.add(compSlide1); 
compFinal.layers.add(compSlide2); 

但是当他们在compFinal中插入时,{@ 1}}和compSlide1两种作品都会有相同的开始时间" 0"。

添加合成compSlide2时我想要它,以便我可以将合成2显示的开始时间设置为compSlide2的结束时间

enter image description here

1 个答案:

答案 0 :(得分:1)

部分取决于图层的复杂程度,但您可以使用当前图层的startTime属性与outPoint相结合来调整图层,使其相互跟随。

在这方面,一个简单的循环可以帮助,在添加所有层之后运行(按顺序):

// initial time (in seconds)
var time = 0;

// loop through all layers in comp
for(var i = 1; i <= finalComp.layers.length; i++) {

    // set layer startTime based on current time value
    finalComp.layers[i].startTime = time;

    // update time to hold outPoint time of this layer
    // which will next layer's start time
    time = finalComp.layers[i].outPoint;
}

如果您只有两个图层,只需将第二个图层设置为从上一个图层的外点开始:

finalComp.layers[2].startTime = finalComp.layers[1].outPoint;