2015-05-01 48 views
0

只是想问一下,复制图层时是否有办法保持表达式之间的关系。 例如我有两层,“LayerA”和“LayerB”。现在我在“LayerB”中有一个表达式,说它的位置总是等于“LayerA”的位置。 现在当我复制这两个并获得“LayerA 2”和“LayerB 2”时,我希望“LayerB 2”中的表达引用“LayerA 2”的位置而不是“LayerA”的位置!Adob​​e After Effects:复制多个图层时保留“Expression-Relations”

虽然没有问题,简单地改变表情,只有其中之一时,它变得相当困难,当你有多个表达式回事...

回答

0

也许最终你会想以不同的方式组织你的补偿,但是,根据您的示例(以及这些名称长度),此位置表达式将用于找到适当的“目标图层”:

//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; 
} 
+0

非常感谢!你将如何组织它不同?我很好奇,因为我发现我的做法非常复杂(必须写一个表达式)。我想要自动调整背景面板的文字。然而,该文本本来就其背景而言有点偏向前方。但是,当我将两个(背景和文本)都放在一个子组件中时,它变成了一个简单的面板。所以有一个选项可以保存为模板或idk :( – CrazyQwert

+0

嗨,@CrazyQwert。好吧,很难2知道不知道你在处理什么,但你已经给了一个很好的描述,听起来就像你希望表达式在复制和组织图层之前工作一样,你可以制作(例如)200个“定位”图层,按顺序重命名它们(请参阅我的重命名脚本的crgreen.com/aescripts),然后制作其中一个'目标'图层,然后重命名这些图层,将它们关闭,在一个表达式上工作,然后将表达式粘贴到199个图层。这就是一种方式。想成为一个普通的面板'? – CRGreen

+0

对不起,我花了这么长时间回答,最近忙着上学。 我真的很感谢你帮助我! 为了让我的问题更清楚一点,我做了一个视频,我在哪里详细解释: https://www.youtube.com/watch?v=0Hxhdr910Xs 也许这是一个更容易理解! 再次感谢您的努力:) – CrazyQwert

相关问题