图像与设计
当动画感觉僵硬、漂浮或廉价时,如何用运动原则确定时长、缓动…
在动手实现前,为任何动画决定它应该怎么动——给出可直接落地的时长、缓动曲线、错峰偏移和弹簧参数。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
当动画感觉僵硬、漂浮或廉价时,如何用运动通用
解决思路
- 先确定三大支柱再选任何数值:情感意图(观众该感受到什么:喜悦、平静、紧迫、信任、优雅)、视觉叙事(微故事:铺垫→动作→收束)、运动工艺(如何让它可信:物理、次级运动、弧线、跟随)。
- 同时运行三层运动而非只动主体:Primary 主运动(眼睛跟随的核心动作)、Secondary 次级运动(阴影移动、图标轻推、标签稍晚落定)、Ambient 环境运动(缓慢渐变漂移、低对比脉冲,从不抢注意力)。
- 把 linear 仅保留给连续循环(旋转器、跑马灯、无限滚动);任何被眼睛视为离散事件的动作都必须有加速度。
- 按动作类型匹配缓动曲线:进入/出现用 ease-out(快起慢落)cubic-bezier(0.16, 1, 0.3, 1);退出/消失用 ease-in(慢起快走)cubic-bezier(0.7, 0, 0.84, 0);移动/重定位(留在屏幕上)用对称的 ease-in-out cubic-bezier(0.65, 0, 0.35, 1);俏皮/品牌感用轻微过冲 cubic-bezier(0.34, 1.56, 0.64, 1)(1.56 超过 1.0 产生过冲回落,读作“重量”)。
- 记住经验法则:眼睛对慢启动的容忍度远低于慢结束;拿不准时,让运动减速进入静止。
- 手动打关键帧(After Effects)时,用 Graph Editor 塑形 Speed Graph,让两端向零变平,把减速影响推到 80–90% 以获得干脆启动和平滑落定;F9(Easy Ease)只是 33% 的对称起点,要把它改成非对称。
- 按时长传达重量与重要性:微交互(悬停、切换、点击反馈)100–200ms;UI 过渡(面板、模态、页面区域)200–400ms;主视觉/大元素/全屏 400–800ms;电影感镜头运动 800–2000ms。
- 让时长随距离和尺寸缩放:小图标移动 20px 与全出血面板移动 800px 不应共用时长;距离或面积大约翻倍时增加约 30–50% 时长以保持感知速度恒定;重物启动慢、过冲少,轻物干脆、可能弹跳。
- 用错峰创造节奏:列表/顺序项之间 40–80ms;密集网格 20–40ms(项多则每项延迟更少,否则尾部拖沓);一组总揭示时长控制在约 600–800ms,若 count * offset 超出则缩小偏移或改用基于距离的错峰(离原点越远越晚开始);错峰方向跟随视线:自上而下,或从焦点向外辐射。
- 遵守 1/3 规则(两种形式):距离上,任何元素不经中间关键帧或缩放/透明度变化,移动不超过屏幕约 1/3,否则读作“模板在动”而非“发生了什么”;同时性上,3 个以上元素时最多约 1/3 处于主动运动,其余保持或作环境运动,全部一起动等于没有焦点的噪音。
- 用预备动作和跟随动作卖出物理感:主动作前加微小反向动作(按钮先 scale 0.95 再弹出,角色跳前下蹲),60–120ms 足够;主体停止后让拖尾部分继续动(主卡片落定后阴影和标签晚 40–80ms 落定),错开附属元素的落定而非同一帧全停。
- 给有机物体的运动加弧线:纯直线位移看起来机械,在 x/y 上加轻微弧线或沿路径动画。
- 做节拍同步:有音频时把冲击关键帧(打击、剪辑、揭示)落在节拍上而非节拍之间;120 BPM 一拍 500ms,八分音符网格 250ms,把关键时刻量化到该网格;无音乐时建立视觉脉冲(如每约 500–800ms 一个主要事件)让作品一致地呼吸。
- 按场景选弹簧还是时长:弹簧(mass/stiffness/damping)自行决定时长,对可交互、可打断的运动(拖拽释放、手势)更物理;时长+缓动更适合编排好、锁定时间线的序列(视频、滚动绑定揭示)需要精确同步时;干脆的默认弹簧:stiffness 300, damping 30, mass 1。
- 按症状诊断:僵硬/机械→进入用了 linear 或对称缓动,改用 ease-out;漂浮/迟缓→时长过长或 ease-out 太柔,砍 30% 时长并锐化曲线;廉价/卡顿→所有元素同时出现(无错峰),或所有元素不分大小共用一个时长;有缓动仍机械→缺预备、缺跟随、走直线,加弧线和重叠。
- 查速查表:进入 cubic-bezier(0.16, 1, 0.3, 1) 300–500ms;退出 cubic-bezier(0.7, 0, 0.84, 0) 200–300ms;移动 cubic-bezier(0.65, 0, 0.35, 1) 300–400ms;品牌弹出 cubic-bezier(0.34, 1.56, 0.64, 1) 400–600ms;列表错峰每项 40–80ms、总时长上限约 700ms;仅循环用 linear。
适用边界 · 注意事项
- 需要选定技术栈或具体实现框架时(本技能只产出数值,不选技术栈)。
- 纯静态、无运动需求的界面或内容。
- 必须严格锁定时间线且已有既定编排、不需要重新决定运动感觉时。