
指数缩放(Exponential Scale)AE表达式
使用简单的表达式将线性缩放关键帧转换为平滑的指数增长。
// 计算指数缩放 s = Math.exp(transform.scale[0] / 21.667905) - 1; [s, s]; // 将相同的结果应用于 X 和 Y 轴缩放 // s = 指数版本的缩放 // 21.667905 是一个预先计算的常数,将 0–100% 映射到 0–100% 的输出范围 // 这样: // - 0% 关键帧变为 0% 实际缩放 // - 100% 关键帧变为 100% 实际缩放 // - 50% 变为 ~9% 实际缩放(因为指数曲线的原因) // 最后一行输出 [s, s] 以保持缩放均匀
应用位置
将此表达式应用于图层的缩放(Scale)属性。
它在形状、文本、预合成或任何具有缩放值的对象上效果都很好。
确保“保持比例”(Constrain Proportions)选项开启,否则它只会影响 X 轴缩放。
工作原理
这段表达式的酷之处在于:
仍然可以像往常一样使用关键帧(设置值、添加缓动,甚至使用保持关键帧),但代替单调的线性缩放,这个表达式调整输出,使其以指数方式变化。
为什么这很重要?
因为视觉上,从 1% 到 2% 的变化是一个巨大飞跃(将大小翻倍),而从 99% 到 100% 几乎没有变化。这个表达式修正了这种不平衡,使增长或缩小的感觉更平滑和更自然。
背后的技巧如下:
- 它获取缩放关键帧值(通常在 0% 到 100% 之间),
- 将其输入到指数函数(
Math.exp()), - 然后调整结果,以确保 100% 保持为 100%,而其他所有值以曲线、更加自然的方式增长。
那个常数 21.667905 是经过仔细选择的,以确保数学运算在 0% 到 100% 之间对齐得很好。
因此,如果发现缩放动画感觉过于僵硬或平坦(即使设置了缓动),这个表达式是一个不错的选择。它在动画需要平滑增长的元素(如用户界面元素、信息图表或抽象运动)时尤为有效。
声明:预览视频中的视频、音频、图片及字体仅做展示,不包含在下载文件内;水印不代表署名仅用于防盗,版权归原作者所有。 版权说明:资源均源于互联网收集整理,不保证资源的可用及完整性,不提供安装使用及技术服务,仅供个人学习研究,请勿商用。喜欢记得支持正版,若侵犯第三方权益,请及时联系我们删除!《版权声明》

评论0