【问题标题】:After Effects Script works manually, but not on start upAfter Effects 脚本手动工作,但在启动时不工作
【发布时间】:2019-03-13 04:17:22
【问题描述】:

我有一个脚本 (.jsx) 可以在我加载项目并自己运行时正确运行。但是,当我通过将它放在 StartUp 文件夹中启动它时,它给了我这个错误:

“无法在第 1 行执行脚本。After Effects 错误:由于参数 1,无法调用“项目”。范围没有值”

这是我的脚本:

var compToBeOutput = app.project.item(35);
var comp1 = app.project.item(1);
var numGames = 7;
var p = 3;

compToBeOutput.duration = (90*numGames)/30;

compToBeOutput.layers.add(comp1);


  for (i = 0; i<numGames-1; i++) {
    var newComp = comp1.duplicate();
    var newLayer = compToBeOutput.layers.add(newComp);
    newLayer.startTime = p;
    p = p + 3;
  }

谢谢, 格雷格

【问题讨论】:

  • 我对 After Effects 编写脚本一无所知,但在我看来,app.project 还没有“项目”,可能是因为 After Effects 在打开您的项目之前加载了您的启动脚本。
  • 你说得对,我给它添加了一个睡眠时间,但是当它运行时它是 10 秒睡眠,但项目没有。我认为首先加载启动脚本,然后是项目本身

标签: javascript scripting after-effects


【解决方案1】:

那是因为这里的 item 是未定义的。 app.project.item 只有在项目打开时才能访问。所以你需要先在脚本本身中打开项目。

例如。

var myPath = new File("你这里的文件路径");

如果(myPath.exists){ app.open(myPath);

}

然后将您的脚本粘贴到下面。

【讨论】:

    猜你喜欢
    • 2018-05-06
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 2018-10-08
    相关资源
    最近更新 更多