2015-10-01 9 views
0

У меня есть объект TextLayer с белой текстовой строкой. Затем я изменяю выделение цвета текста (второй символ меняет цвет белый -> синий).Как я могу программно получить выбор текста в Adobe After Effects с ExtendScripts

Как я могу получить этот выбор и цвет программным путем?

ответ

1

Похоже, вы не можете достичь начальных и конечных значений выбора путем написания сценариев. Но вы можете добавить эффект контроллера выражения и получить значения из этого.

  1. Код ниже: у вас есть один комп в вашем проекте с текстовым слоем, называемым «мой текстовый слой».
  2. Добавить контроллер выражений для цвета этого слоя. Добавьте к этому выражение выражение text.animator("Animator 1").property.fillColor.

Вы можете сделать то же самое со значениями из вашего выбора.

var preExpression = true; 
var currentTime = 5; // in seconds 
// get the sourceText? works! 
var val = app.project.item(1).layer("my text layer").property("ADBE Text Properties").property("ADBE Text Document").valueAtTime(currentTime, preExpression); 
// get the Text Percent Start? Wont work! 
var sel = app.project.item(1).layer("my text layer").property("ADBE Text Properties").property("ADBE Text Animators").property("ADBE Text Animator").property("ADBE Text Selectors").property("ADBE Text Selector").property("ADBE Text Percent Start").valueAtTime(currentTime, preExpression); 
// add an expression controller for color and get the color from that one? works! 
var col = app.project.item(1).layer("my text layer").property("ADBE Effect Parade").property("ADBE Color Control").property("ADBE Color Control-0001").valueAtTime(currentTime, false); 
$.writeln(val); 
$.writeln(sel); 
$.writeln(col); 

Посмотрите на After Effects Scripting Guide. Используйте сценарий rd_GimmePropPath redefinery, чтобы получить имена совпадений свойств.

+0

Большое спасибо за помощь в решении проблемы! – resource8218