AEJoy ——表达式代码列表和示例(二)

414 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

漂浮表达式系列

简单漂浮层

如果你想要一个上下浮动的层,模拟一个物体在空间或水中上下浮动,这是理想的。 它基本上显示了一个物体的失重状态。你可以在图层位置和尺寸上使用该代码。

效果图

floating-animation.gif

表达式

amp = 250;
freq = 1;
y = amp*Math.sin(time*freq*Math.PI*2);
value + [0,y,0]

漂浮跳动层

类似于上面的表达式,在这个上面你可以控制你层的移动和频率。

效果图

floating-animation.gif

表达式

ampY = 60;
ampZ = 150;
freqY = 0.5;
freqZ = 2;
y = ampY*Math.sin(time*freqY*Math.PI*2);
z = ampZ*Math.cos(time*freqZ*Math.PI*2);

value + [0,y,z]

delay 关键帧表达式

这个表达式允许你延迟你的关键帧动画,你可以指定动画应该在哪个帧开始。它基本上是动画开始前的暂停。

效果图

floating-animation.gif

表达式

delayFrames = 40;
delay = framesToTime(delayFrames);
thisComp.layer("logo").transform.position.valueAtTime(time-delay)

delay 和 Index 表达式

延迟和索引表达式允许您有其他子层在不同的时间上跟随主层。

效果图

floating-animation.gif

表达式

// Sets a delay amount in frames
var delay = 5;
 
// Multiplies delay based on this layer's index relative to it's parent
var multiplyDelay = delay * ( index - parent.index )
 
// Offsets layer's Position in time based on delay
parent.fromComp( toComp( anchorPoint, time - framesToTime( multiplyDelay ) ) );