After Effects 脚本 - 表达式控制器坐标

After Effects Script - Expression Controller Coordinates

正在为 After Effects 2015 编写脚本。尝试将坐标数据从点表达式控制器复制到图层的位置数据。我似乎找不到指向表达式控制器值的方法。

for (i = 1; i <= app.project.activeItem.selectedLayers[0].property("Effects").numProperties;  i++) {
    app.project.items[2].layer(i).property("position").setValue(app.project.activeItem.selectedLayers[0].property("Effects").property(i).value);                         
}

我也试过这个:

for (i = 1; i <= app.project.activeItem.selectedLayers[0].property("Effects").numProperties;  i++) {
    app.project.items[2].layer(i).property("position").setValue(app.project.activeItem.selectedLayers[0].property("Effects").property(i).property("Point").value);                         
}

如有任何帮助,我们将不胜感激。希望我没有打错字...

这应该让你继续。您需要一个带有表达式点控制器的图层,并且需要选择它。我在这里使用效果的匹配名称。您也可以使用界面中的名称。我建议获取 rd_GimmePropPath script from redefinery.com。每次都帮我。

function main() {
  app.beginUndoGroup("XXX");
  var curComp = app.project.activeItem; // get the current comp
  if (!curComp || !(curComp instanceof CompItem)) {
    // doulble check
    alert("noComp");
    return;
  };
  var layerwithpointcontroller = curComp.selectedLayers[0]; // the first selected layer
  // get the value of the expression controler
  var pointvalue = layerwithpointcontroller.property("ADBE Effect Parade")
    .property("ADBE Point Control")
    .property("ADBE Point Control-0001")
    .value;

  $.writeln(pointvalue); // take a look at it
  var nullobject = curComp.layers.addNull();// add a null
  nullobject.position.setValue(pointvalue);// set its position
  app.endUndoGroup();
}
main();