如何使用标记和javascript,extendscript分割After Effects中的图层?

时间:2017-01-19 20:13:42

标签: javascript split marker extendscript after-effects

我正在尝试使用extendscript在After Effects中拆分图层。首先,我想获得标记的时间值。然后我想将时间轴光标设置在时间轴上的必要点上。最后我会分层次。

这是怎么回事?你知道如何从标记中获取时间参数,然后使用此值将时间轴光标从必要位置移位吗?

或者你知道其他方式怎么做?

2 个答案:

答案 0 :(得分:2)

最简单的方法是复制图层:

var newLayer = myLayer.duplicate();

然后将该图层的inPoint设置为标记时间:

newLayer.Inpoint = myLayer.property("Marker").keyTime(<index of marker>)

原始图层的outPoint:

myLayer.Outpoint = myLayer.property("Marker").keyTime(<index of marker>);

然后,如果你需要将comp时间设置为标记时间,只需使用comp对象的time属性(我假设这里有一个名为myComp的变量,它被设置为comp对象,例如var myComp = app.project.activeItem):

myComp.time = myLayer.property("Marker").keyTime(<index of marker>);

在你花费太多时间试图解决这个问题之前,值得下载After Effects Scripting Guide(我意识到它说的是CS6,它是迄今为止最新版本的 2017 < / strike> 2019,但也要检查新文档是什么),如果你想要GUI乐趣,也可以获得Javascript Tools Guide

答案 1 :(得分:2)

不需要标记来旋转图层。只需要复制图层并使用intime和outtime并根据它们进行设置。对于图层之间的分割,原始图像将被分割为所需的三个图层或部分。所以我给了:

var portions =3;

您可以使用inPoints和outPoints来标记分割图层的间隔:

var sliceTime = 15.0; //give the end time for the part of layer)
var origOutPoint = layer.outPoint;
comp.time = sliceTime;
while (portions > 1) {
    var d = layer.outPoint - sliceTime;
    dupeLayer = layer.duplicate();
    layer.outPoint = dupeLayer.inPoint = sliceTime;

    sliceTime = 20.0;
    portions--;
    layer = dupeLayer;
}

希望这对你有所帮助。