如何分割后效果层使用标记的标记和javascript,extendscript?

sr4lhrrt  于 2023-02-07  发布在  Java
关注(0)|答案(2)|浏览(109)

我正在尝试使用extendscript在后效果中分割层。首先,我想得到标记的时间值。然后我想在时间轴上的必要点设置时间轴光标。最后我会分割层的碎片。
这在javascript中是怎么做到的?也许你知道如何从标记中获取时间参数,然后使用这个值将时间轴光标从必要的位置移动?
或者你知道其他方法怎么做?

34gzjxbg

34gzjxbg1#

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

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 Docs,如果您想要GUI的乐趣,也可以阅读Extendscript docs

t1qtbnec

t1qtbnec2#

分割图层时不需要标记。您只需复制图层并使用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;
}

希望这个能帮到你。

相关问题