Agent Skills
返回列表
💻

Bexa 电影级动效与物理引擎

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/forge-motion。

技能介绍

动效设计要解决什么问题

很多前端项目的动画是"装饰性"的:按钮按下没有反馈、列表项一次性弹出缺少节奏感、页面切换生硬。另一个常见问题是性能失控——在滚动容器上做动画、忘记清理 GSAP 实例、在同一组件里混用 GSAP 和 Framer Motion。

核心思路:意义先于动作

Forge Motion 的第一原则是:任何动画都要先回答三个问题——它传达了什么状态变化?去掉它是否损害理解?是否尊重 prefers-reduced-motion?后两项答案都是"否"时,直接删掉这个动画。

动画按重要性分为四层:

  • 功能性:加载状态、页面切换、校验反馈,始终保留
  • 反馈性:按钮按压、悬停响应、拖拽确认
  • 语境性:列表错开出现、滚动揭示、共享元素过渡
  • 环境性:背景网格、浮动粒子、光标轨迹,仅当编排复杂度达到 7 以上时使用

物理与工程实践

弹簧物理是核心语言:交互元素只用 spring,禁用 ease、ease-in-out 或 linear;非交互的环境元素可使用 cubic-bezier(0.16, 1, 0.3, 1)。

性能检查清单包括:只动画化 transform 和 opacity、动画结束后移除 will-change、噪点效果放在 fixed 伪元素而非滚动容器上、在 useEffect cleanup 中销毁 GSAP 实例与 Three.js renderer、持续动画隔离到独立的 React.memo 组件中。

适用边界

  • GSAP 仅用于编排复杂度 ≥ 9 的场景(scrolltelling、整页序列、canvas 背景),且严禁与 Framer Motion 出现在同一组件树
  • Three.js 仅限 hero 背景、3D 产品展示、数据球可视化,移动端单场景顶点数不超过 30 万
  • GPU 等级低于 1 时,用静态图片替代 WebGL canvas

使用场景

  • 在 React 产品界面中实现页面切换、按钮按压等功能性动效
  • 用 GSAP 制作营销落地页的横向滚动章节与整页滚动叙事
  • 在低端设备上为 Three.js 场景做性能降级与 WebGL 回退
  • 给滚动列表添加错开揭示动画并确保动画不触发重排

适合人员

  • 负责产品界面的前端工程师,希望为交互元素加入符合规范的动效
  • 制作营销落地页的创意开发者,需要整页滚动叙事方案
  • 关注性能的 WebGL 工程师,需要移动端 GPU 降级与顶点预算建议
  • 在 React 中同时维护 Framer Motion 与 GSAP 动效的团队开发者