Adobe After Effects:复制多层时保留 "Expression-Relations"

Adobe After Effects: Keep "Expression-Relations" when duplicating multiple layers

只是想问一下,有没有办法在复制图层时保持表达式的关系。 例如。我有两层,"LayerA" 和 "LayerB"。现在我在 "LayerB" 中有一个表达式说,它的位置总是等于 "LayerA" 的位置。 现在,当我复制这两个并得到 "LayerA 2" 和 "LayerB 2" 时,我希望 "LayerB 2" 中的表达式引用 "LayerA 2" 的位置而不是 "LayerA" 的位置!

虽然当只有一个表达式时简单地改变表达式是没有问题的,但是当你有多个表达式时就变得很困难了...

您可能最终想要以不同的方式组织您的排版,但是,根据您的示例(以及确切的名称长度),此位置表达式将用于找到合适的 'target layer':

//base name to work from:
baseName = "Layer";
//length of that:
nameLen = baseName.length;
//this layer's name:
myName = thisLayer.name;
if (myName.length == nameLen) {
 //if they are the same, then it is the original
 // (non-duplicated) version
  thisComp.layer("LayerA").transform.position;
} else {
  //get tail string, the space and number:
  tailStr = myName.substring(nameLen+1, myName.length);
  //build new target layer name with "A":
  targetName = myName.substring(0, (nameLen)) + "A" + tailStr
  //new line pointing to target layer:
  thisComp.layer(targetName).transform.position;
}