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

我有三个组合(compFinal,compSlide1和compSlide2).

我使用脚本将compSlide1和compSlide2添加到compFinal组合中.

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

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

但是当它们在compFinal中插入时,两个组合物compSlide1和compSlide2将具有相同的开始时间“0”.

添加组合物compSlide2时,我想要它,以便我可以设置组合2显示的开始时间等于compSlide1的结束时间

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

最佳答案 它部分取决于图层的复杂程度,但您可以使用当前图层的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;
点赞