Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ExtendScript访问预合成层内部_Javascript_Adobe_Composition_Extendscript_After Effects - Fatal编程技术网

Javascript 使用ExtendScript访问预合成层内部

Javascript 使用ExtendScript访问预合成层内部,javascript,adobe,composition,extendscript,after-effects,Javascript,Adobe,Composition,Extendscript,After Effects,我对extendScript很陌生。我有一个后效项目,我试图访问我的作品中的一个项目,然后进入它里面选择一层。所以它是这样的:我的作文中有5层,在第3项中,当我双击时,还有一些层。我想实现其中一个内层 var layerName = app.project.item(1).layer(4); alert(layerName.name); 使用这个,我可以访问主合成中预合成项的名称。现在我想进入它里面,就像我们双击after effects一样。这样我就可以在里面得到一层 做这件事的方法是什么?

我对extendScript很陌生。我有一个后效项目,我试图访问我的作品中的一个项目,然后进入它里面选择一层。所以它是这样的:我的作文中有5层,在第3项中,当我双击时,还有一些层。我想实现其中一个内层

var layerName = app.project.item(1).layer(4);
alert(layerName.name);
使用这个,我可以访问主合成中预合成项的名称。现在我想进入它里面,就像我们双击after effects一样。这样我就可以在里面得到一层

做这件事的方法是什么?

不知道你所说的“在其中实现一层”是什么意思。 如果层是预编译,则可以使用comp.openInViewer()通过脚本访问其源(CompItem)并在查看器中打开它。 以下几行将贯穿comp中的所有层,并在查看器中打开预编译层

for (i=1; i<=myComp.numLayers; i++){
    layer = myComp.layer(i);
    if (layer.source instanceof CompItem) layer.source.openInViewer();
    }

对于(i=1;i您可以使用与访问maincomp的层相同的方式访问预编译的层。假设您想要访问预编译的第一层,并且您的预编译名为“预编译”。您将

预编译层(1)

当然,为了做到这一点,您可能需要识别预编译并将其存储为var和la

var proj = app.project;
var target;

for (var i = 1; i <= proj.numItems; i++){
    if (proj.item(i) instanceOf CompItem && proj.item(i).name === 
    "precomp"){
        target = proj.item(i);
    }
 }
var proj=app.project;
var目标;
对于(var i=1;i