Скрипт After Effects работает вручную, но не при запуске

#javascript #scripting #after-effects

#javascript #создание сценариев #after-effects

Вопрос:

У меня есть скрипт (.jsx), который запускается корректно, когда я загружаю проект и запускаю его сам. Однако, когда я запускаю его при запуске, помещая в папку автозагрузки, он выдает мне эту ошибку:

«Не удается выполнить скрипт в строке 1. Ошибка After Effects: не удается вызвать «item» из-за параметра 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;
  }
  

Спасибо,
Грег

Комментарии:

1. Я ничего не знаю о написании сценариев After Effects, но мне кажется, что в app.project нем пока нет «элементов», возможно, потому, что After Effects загружает ваш сценарий запуска перед открытием вашего проекта.

2. Вы правы, я добавил к нему время ожидания, но пока он работает, проект не переходит в режим ожидания на 10 секунд. Я думаю, что сначала загружаются сценарии запуска, затем сам проект

Ответ №1:

Это потому, что элемент здесь не определен. app.project.item доступен только тогда, когда проект открыт. итак, вам нужно сначала открыть project в самом скрипте.

Например.

var myPath = новый файл («ваш путь к файлу здесь»);

если(myPath.exists){ app.open(myPath);

}

затем вставьте свой скрипт под ним.