Javascript 时间轴上的后效合成开始时间

Javascript 时间轴上的后效合成开始时间,javascript,adobe,extendscript,after-effects,Javascript,Adobe,Extendscript,After Effects,在Adobe After Effects(AE)中,我正在编写一个简短解释动画的脚本。AE中的脚本语言看起来很像Javascript,只是脚本语言的文档级别很低(甚至在网络上) 我在AE中添加了两个构图,每个构图包含两层。问题是在运行脚本后,两个场景都从AE时间线的开始处开始。我想在“场景1”完成后启动“场景2”。但我不知道怎么做。我开始玩“displayStartTime”,但不幸的是,在运行脚本后,两个场景在时间轴中的0处再次开始,因此彼此重叠 有人知道怎么解决这个问题吗 (两个场景的持续时

在Adobe After Effects(AE)中,我正在编写一个简短解释动画的脚本。AE中的脚本语言看起来很像Javascript,只是脚本语言的文档级别很低(甚至在网络上)

我在AE中添加了两个构图,每个构图包含两层。问题是在运行脚本后,两个场景都从AE时间线的开始处开始。我想在“场景1”完成后启动“场景2”。但我不知道怎么做。我开始玩“displayStartTime”,但不幸的是,在运行脚本后,两个场景在时间轴中的0处再次开始,因此彼此重叠

有人知道怎么解决这个问题吗

(两个场景的持续时间均为5秒)


您必须使用图层的起始时间和输出点。这里有一个简单的例子。脚本需要一个包含两层的活动comp

function fun(){
app.beginUndoGroup("XXX");
var curComp = app.project.activeItem;
   if (!curComp || !(curComp instanceof CompItem)){
        alert("no active comp");
        return;
    };
if(curComp.numLayers < 2){
    alert("Not enough layers");
    return;
    }
var compone = curComp.layer(1);
var comptwo = curComp.layer(2);
comptwo.startTime = compone.outPoint;
app.endUndoGroup();
}

fun();
函数fun(){
附录:beginUndoGroup(“XXX”);
var curComp=app.project.activeItem;
如果(!curComp | |!(curComp instanceof CompItem)){
警报(“无有效成分”);
返回;
};
如果(curComp.numLayers<2){
警报(“层不够”);
返回;
}
var compone=电流复合层(1);
var comptwo=电流复合层(2);
comptwo.startTime=compone.outPoint;
app.endUndoGroup();
}
乐趣();

有关更多信息,请查看

一点小技巧:ExtendScript是javascript,这意味着您可以使用许多javascript库来在After Effects中进行web工作。我已经成功地使用了json序列化程序库和linqjs。
function fun(){
app.beginUndoGroup("XXX");
var curComp = app.project.activeItem;
   if (!curComp || !(curComp instanceof CompItem)){
        alert("no active comp");
        return;
    };
if(curComp.numLayers < 2){
    alert("Not enough layers");
    return;
    }
var compone = curComp.layer(1);
var comptwo = curComp.layer(2);
comptwo.startTime = compone.outPoint;
app.endUndoGroup();
}

fun();