
自动淡入和淡出与标记
在图层的入点到第一个标记之间逐渐增加不透明度,并在第二个标记到图层的出点之间逐渐降低不透明度。
// 确保有 2 个标记
if (marker.numKeys < 2) {
value; // 如果标记数量不足,则返回当前值
} else {
fadeInStart = inPoint; // 淡入开始时间
fadeInEnd = marker.key(1).time; // 淡入结束时间
fadeOutStart = marker.key(2).time; // 淡出开始时间
fadeOutEnd = outPoint; // 淡出结束时间
// 不同时间段的处理
if (time < fadeInStart) {
0; // 在淡入之前,完全透明
} else if (time <= fadeInEnd) {
linear(time, fadeInStart, fadeInEnd, 0, 100); // 渐变到 100(完全不透明)
} else if (time <= fadeOutStart) {
100; // 在淡出开始之前,保持完全不透明
} else if (time <= fadeOutEnd) {
linear(time, fadeOutStart, fadeOutEnd, 100, 0); // 渐变到 0(完全透明)
} else {
0; // 在淡出结束之后,完全透明
}
}
应用位置
将此表达式应用于任何图层的不透明度属性。它需要两个标记:
- 第一个标记 = 淡入结束位置
- 第二个标记 = 淡出开始位置
实际的淡入淡出长度取决于这些标记距离图层入/出点的距离。
工作原理
这个表达式可以轻松实现自动淡入淡出效果,而无需手动设置关键帧:
- 从入点到第一个标记,逐渐从 0(完全透明)到 100(完全不透明)变化。
- 然后在该标记时保持不透明度为 100。
- 从第二个标记到出点,逐渐从 100 下降到 0。
- 在此之前和之后的时间段内,图层完全透明。
这对于处理模板或重复使用的合成特别有用,因为入/出点和时长会变化,每次都应用相同的淡入淡出逻辑。
声明:预览视频中的视频、音频、图片及字体仅做展示,不包含在下载文件内;水印不代表署名仅用于防盗,版权归原作者所有。 版权说明:资源均源于互联网收集整理,不保证资源的可用及完整性,不提供安装使用及技术服务,仅供个人学习研究,请勿商用。喜欢记得支持正版,若侵犯第三方权益,请及时联系我们删除!《版权声明》

评论0