如何在Adobe After Effects with ExtendScripts中以编程方式获取文本选择

时间:2015-10-01 12:26:38

标签: adobe extendscript textselection after-effects

我的对象TextLayer带有白色文本颜色字符串。然后我动画文本颜色选择(第二个字符改变颜色白色 - >蓝色)。

如何以编程方式获得此选择和颜色?

1 个答案:

答案 0 :(得分:1)

好像你无法通过脚本来达到选择开始和结束值。但是你可以添加表达式控制器效果并从中获取值。

  1. 下面的代码假设您的项目中有一个comp,其中包含一个名为“my text layer”的文本层。
  2. 为该图层添加颜色的表达式控制器。将表达式text.animator("Animator 1").property.fillColor添加到该效果中。
  3. 您可以使用所选值中的值执行相同操作。

    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。使用redefinery的rd_GimmePropPath脚本获取属性的匹配名称。