设计稿过渡动画缓动函数怎么选

联启 设计影音工具 14

本文目录导读:

设计稿过渡动画缓动函数怎么选-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 第一步:快速记忆“黄金三法则”
  2. 第二步:根据动效意图精细选择
  3. 第三步:掌握“魔幻曲线” cubic-bezier
  4. 第四步:一个简单的决策流程图
  5. 给设计师的直接建议

设计稿中的过渡动画,选择缓动函数(Easing Function)的核心原则是:让动画符合物理直觉,提升用户感知的流畅度与自然度

没有“万能”的缓动函数,但有一套经验法则,你可以根据动效的属性和意图来选择:


第一步:快速记忆“黄金三法则”

如果你记不住复杂的曲线,先记住这三条,能解决 80% 的界面过渡问题:

  1. 进入(元素出现):用 ease-out(先快后慢)

    • 为什么? 模拟物体从静止到运动的惯性,用户希望快速看到新内容,然后自然地减速停稳。
    • 示例:弹窗出现、卡片浮入、 sidebar 滑入。
  2. 退出(元素消失):用 ease-in(先慢后快)

    • 为什么? 模拟物体离开视线的加速感,用户已经注意到了,让它快速离开,不拖沓。
    • 示例:弹窗关闭、删除卡片、提示消失。
  3. 移动/状态变换(A点到B点):用 ease-in-out(两头慢,中间快)

    • 为什么? 模拟流畅的物理运动(如电梯起停),避免突兀的启动和停止。
    • 示例:开关滑块、列表拖拽、页面切换(如左滑右滑)。

第二步:根据动效意图精细选择

动效意图 推荐缓动函数 效果说明 设计稿场景示例
物体进入 (进来) ease-out / cubic-bezier(0, 0, 0.58, 1) 快速开始,优雅结束,清新、不突兀。 ① 通知栏从顶部滑入 ② 图片懒加载显示 ③ modal 从屏幕底部向上弹出
物体退出 (离开) ease-in / cubic-bezier(0.42, 0, 1, 1) 缓慢开始,加速消失,果断、不迟疑。 ① Toast 通知消失 ② 删除一个列表项 ③ 关闭弹窗时内容缩小并淡出
状态切换 (平移/旋转) ease-in-out / cubic-bezier(0.42, 0, 0.58, 1) 温柔启动,中间顺畅,温柔停止,最“通用”。 ① 汉堡菜单展开/收起 ② Toggle 开关滑动 ③ 卡片展开详情
强调/反馈 (点击/悬停) ease-out / cubic-bezier(0.25, 0.1, 0.25, 1) 快速响应,稍微反弹,模拟物理弹性。 ① 按钮点击下沉 ② 图标 hover 放大 ③ 点赞爱心爆炸
大层级切换 (页面转场) ease-in-out 或 自定义 cubic-bezier 需要更明显的叙事感。ease-in-out 平滑过渡。 ① 页面从左向右滑动 ② Tab 切换 ③ Banner 自动轮播
弹性/个性 cubic-bezier(0.68, -0.55, 0.27, 1.55) (弹性) 超过终点再回弹,增加趣味性,但不要滥用。 ① 加载完成时的对勾图标 ② 收藏按钮的星星 ③ 游戏化进度条

第三步:掌握“魔幻曲线” cubic-bezier

在Figma、Sketch、Web代码中,最精确的控制是通过 cubic-bezier(p1x, p1y, p2x, p2y) 自定义曲线。

  1. 避开几个常见误区:

    • 滥用 ease-in 进入: 会让元素显得像被人推了一把,缓慢启动很“笨重”。
    • 滥用 ease-out 退出: 会让元素消失很拖沓,用户等待烦躁。
    • 全程 linear (线性): 看起来像机器,没有生机感,除了特定效果(如进度条加载、颜色渐变),尽量避免。
  2. 设计师的“偷懒”工具:

    • Google “easing function cheat sheet”: 有很多可视化图表,可以直接抄预设值。
    • 使用 Figma 的 Smart Animate + 交互原型: 在Figma中直接设置缓动函数并预览,这是最直观的方法。
    • 工具网站: cubic-bezier.comeasings.net
  3. 如何向开发交接?

    • 直接输出预设值: “进入用 ease-out, 时长300ms”。
    • 输出 CSS 参数:transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1)”。
    • 使用 Lottie 或 Rive: 如果是复杂路径动画(如弹性、跟随),导出动画文件,效果最保真。

第四步:一个简单的决策流程图

请从这一步开始:
1. 这个动画是【进入】还是【退出】?
    ├── 进入 → 走到 2
    └── 退出 → 走到 3
2. 进入:
    ├── 是【主要元素】出现? → 用 ease-out (先快后慢)
    └── 是【装饰/次要】出现? → 用 ease-out (或者稍微慢一点的 ease-out)
3. 退出:
    ├── 用户希望它【马上消失】? → 用 ease-in (先慢后快) 或甚至 linear
    └── 是【温和的淡化】? → 用 ease-in-out
4. 【状态变化】(移动/缩放/颜色变化):
    ├── 是【平滑的过渡】? → 用 ease-in-out
    ├── 是【点击反馈】? → 用 ease-out 或 微弹性 (如 cubic-bezier(0.34, 1.56, 0.64, 1))
    └── 是【拖拽/跟随手指】? → 用 阻尼效果 (如 Spring 物理引擎,或自定义 ease-out)
5. 特殊用途:
    ├── 【渐隐/渐显透明度】? → 用 ease-in-out 或 linear (取决于速度)
    ├── 【旋转】? → 用 ease-in-out
    └── 【路径动画】(沿着曲线移动)? → 用 ease-in-out 或 自定义跟随曲线

给设计师的直接建议

  • 新人/快速原型: 所有动画一律用 ease-in-out(时长 200-300ms),确保不翻车。
  • 追求自然感: 进入用 ease-out,退出用 ease-in
  • 需要个性/高级感: 打开 cubic-bezier.com,自己拉曲线(P1 在 0.1-0.3 之间,P2 在 0.7-0.9 之间,尝试带一点弹性)。
  • 测试至关重要: 在真实设备上(而非设计稿预览)看动画效果,设计稿的 300ms 在手机上可能过快或过慢。
  • 统一性: 整个产品里尽量使用同一套缓动函数库(Ant Design 或 Material Design 的动画 token),保持品牌体验一致。

标签: 过渡动画

抱歉,评论功能暂时关闭!