如何使用 Math.round(easeOut(time...) in after 影响?

问题描述

我有一个形状图层,我想使用此表达式为位置 x 设置动画

x=clamp(thisComp.layer("Control Values").effect("Value Bar 1")("Slider"),100);
Math.round(eaSEOut(time,inPoint+0.53,inPoint+1.8,x))
[x,value[0]]

但他显示“表达式结果必须是维度 2。而不是 1”

enter image description here

问题出在哪里??

解决方法

我尝试使用带有滑块的 Shape Layer + Control Values 层重新创建您的设置,但我得到了 slightly different error

我认为您的代码给您带来了错误,因为它在第 2 行和第 3 行缺少分号,并且 AE 不知道何时停止在 1 行上工作并移至下一行?必须有一个术语:)

这是对我有用的代码,没有任何错误:

x=clamp(thisComp.layer("Control Values")("Effects")("Values Bar 1")("Slider"),100);

Math.round(easeOut(time,inPoint+0.53,inPoint+1.8,x));

[x,value[0]];

我会稍微清理一下以使其更具可读性。另外,您应该为 Math.round 函数创建一个变量,因为您想用它来影响位置 x?此外,我将 value[0] 更改为 value[1] - 否则,您的位置 y 指的是位置 X 的原始值。你可以改变它,但它有点违反直觉 - 你向左/向右移动你的层,所以它向上/向下 - value[1] 解决了这个问题。

valuesBar = thisComp.layer("Control Values")("Effects")("Values Bar 1")("Slider");

x=clamp(valuesBar,100);

x2 = Math.round(easeOut(time,x));

[x2,value[1]];