Как мне заставить этот код начинаться, когда он воспроизводится в after effects? (javascript)

#javascript #adobe #extendscript #after-effects #adobe-premiere

Вопрос:

Я пытаюсь заставить сценарий воспроизводиться, когда нажимаю кнопку воспроизведения в after effects. Предполагается, что сценарий постоянно включает и выключает слои по значению слайда(другого слоя) во время воспроизведения. (Итак, я хочу, чтобы функция SLIDERCHECKER() запускала каждый кадр во время воспроизведения/рендеринга видео).

 var firstLayer = app.project.item(1).layer(1);
var secondLayer = app.project.item(1).layer(2);
var thirdLayer = app.project.item(1).layer(3);
var fourLayer = app.project.item(1).layer(4);


var sliderValue1 = secondLayer.effect(1).property(1).value;
var sliderValue2 = fourLayer.effect(1).property(1).value;


SLIDERCHECKER();
    
    
function SLIDERCHECKER(){
  
  app.beginUndoGroup("My script action");
  
  if (sliderValue1 > .7  amp;amp; sliderValue2 < .7)
  {
  
     firstLayer.opacity.setValue(100);
     thirdLayer.transform.opacity.setValue(0);
    // alert("sliderValue1 is higher");
  }
  else if (sliderValue2 > .7 amp;amp; sliderValue1 < .7)
  {

    thirdLayer.opacity.setValue(100);
    firstLayer.opacity.setValue(0);
    //alert("sliderValue2 is higher");
  }
  else if (sliderValue1 > .7 amp;amp; sliderValue2 > .7) 
  {
    
   firstLayer.transform.opacity.setValue(100);
   thirdLayer.transform.opacity.setValue(0);
   //alert("both are equal");
  }

  app.endUndoGroup();
  
}
 

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

1. Похоже, вы пытаетесь сделать со сценарием то, чего могли бы достичь с помощью выражения. API не имеет интерактивных обратных вызовов для сценариев, запускаемых такими вещами, как воспроизведение компа. Если вы хотите такого поведения, вам придется написать плагин, используя пакет SDK для плагинов.