小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
漂浮表达式系列
简单漂浮层
如果你想要一个上下浮动的层,模拟一个物体在空间或水中上下浮动,这是理想的。 它基本上显示了一个物体的失重状态。你可以在图层位置和尺寸上使用该代码。
效果图
表达式
amp = 250;
freq = 1;
y = amp*Math.sin(time*freq*Math.PI*2);
value + [0,y,0]
漂浮跳动层
类似于上面的表达式,在这个上面你可以控制你层的移动和频率。
效果图
表达式
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 关键帧表达式
这个表达式允许你延迟你的关键帧动画,你可以指定动画应该在哪个帧开始。它基本上是动画开始前的暂停。
效果图
表达式
delayFrames = 40;
delay = framesToTime(delayFrames);
thisComp.layer("logo").transform.position.valueAtTime(time-delay)
delay 和 Index 表达式
延迟和索引表达式允许您有其他子层在不同的时间上跟随主层。
效果图
表达式
// 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 ) ) );