【发布时间】:2014-06-09 07:21:33
【问题描述】:
在 Adobe After Effects (AE) 中,我正在编写一个简短解释动画的脚本。 AE中的脚本语言看起来很像Javascript,只是脚本语言的文档级别很低(甚至在网络上)。
我在 AE 中添加了两个合成,每个合成包含层。问题是在运行脚本后,两个场景都从 AE 时间轴的开头开始。我想在“scene1”完成后开始“scene2”。但我无法弄清楚如何做到这一点。我开始玩“displayStartTime”,但不幸的是,在运行脚本后,两个场景在时间轴的 0 处重新开始,因此相互重叠。
有人知道如何解决这个问题吗?
(两个场景的持续时间都是5秒)
var scene1 = addComposition("SCENE1", 1920, 1080, 1, 5, 30, compositionType.scene, compMain);
scene1.collapseTransformation = true;
scene1.displayStartTime = 1; //start this scene from the beginning, and therefore overrule main.
var bg1 = scene1.layers.addSolid(hexToRgb(backgroundColor.white) , "BACKGROUND ONE", 1920, 1080, 1);
var art1 = scene1.layers.add(getArtworkItem(artworkList, "funk-elogo")); //add artwork to this scene, start at 1, setplop starts at 1
art1.startTime = 1;
setPlop(art1, 1, 1);
var scene2 = addComposition("SCENE2", 1920, 1080, 1, 5, 30, compositionType.scene, compMain);
scene2.collapseTransformation = true;
scene2.displayStartTime = 6; //start this scene after scene 1
var bg2 = scene2.layers.addSolid(hexToRgb(backgroundColor.white) , "BACKGROUND TWO", 1920, 1080, 1);
var art2 = scene2.layers.add(getArtworkItem(artworkList, "office")); //add artwork to this scene, start at 1, setplop starts at 1
art2.startTime = 1;
setPlop(art2, 1, 1);
【问题讨论】:
-
小知识:ExtendScript 是 javascript,这意味着您可以使用大量用于在 After Effects 中进行网络工作的 javascript 库。我已经成功使用了 json 序列化库和 linqjs。
标签: javascript adobe extendscript after-effects