Communitygithub.com

lottiefiles/motion-design

应用动效设计原则,创建情感驱动、技术可靠的动画和过渡效果。提供为UI适配的时序、缓动、编排和迪士尼动画原则。适用于创建动画、过渡、微交互、加载状态、页面过渡、滚动触发效果或任何动效工作。可与CSS、Framer Motion、GSAP、Lottie、Spring或任何动画系统配合使用。

motion-design 是什么?

此技能基于LottieFiles的动效设计专业知识,为AI代理(如Claude Code、Cursor、Codex等)提供一套全面的动效设计原则。它帮助创建情感驱动且技术可靠的动画和过渡效果。该技能涵盖关键概念,如时序、缓动、编排以及为UI场景适配的迪士尼动画原则(如挤压与拉伸、预备动作、跟随与重叠动作)。它将每个原则转化为实际的CSS、Framer Motion、GSAP、Lottie、Spring或其他动画系统中的实现。用户可在创建微交互、加载状态、页面过渡、滚动触发效果或任何需要动效的工作时调用此技能。它通过结构化的指导提供令人愉悦且专业的用户体验,并确保动画性能良好、易访问且有意义。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lottiefiles/motion-design-skill/tree/main/skills/motion-design

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

motion-design 是做什么的?

应用动效设计原则,创建情感驱动、技术可靠的动画和过渡效果。提供为UI适配的时序、缓动、编排和迪士尼动画原则。适用于创建动画、过渡、微交互、加载状态、页面过渡、滚动触发效果或任何动效工作。可与CSS、Framer Motion、GSAP、Lottie、Spring或任何动画系统配合使用。

核心原则

时序(Timing)

  • 控制动画的持续时间和节奏。
  • 快速动画(100-300ms)适合微交互,慢速动画(300-500ms)适合页面过渡。
  • 示例:transition: all 0.2s ease;

缓动(Easing)

  • 定义动画的加速与减速曲线,决定运动质感。
  • 常用缓动函数:ease-in-out、cubic-bezier()、弹簧效果。
  • 示例:transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);

编排(Choreography)

  • 协调多个元素的动画顺序与舞台调度。
  • 使用延迟、交错和分层效果创建视觉叙事。
  • 示例:列表项依次出现时使用 staggerDelay: 0.1。

迪士尼动画原则适配UI

  • 挤压与拉伸(Squash & Stretch):赋予对象弹性与质量感,适合按钮按压或卡片弹出。
  • 预备动作(Anticipation):在主要动作前加小动作作为提示,例如按钮模糊或缩放。
  • 跟随与重叠动作(Follow-through & Overlapping Action):让主元素带动次元素,如导航菜单的“惯性”效果。

平台支持

  • CSS:标准 transition 和 animation 属性。
  • Framer Motion:React动画库,支持声明式动画、手势和编排。
  • GSAP:高性能JavaScript动画库,支持时间轴和复杂序列。
  • Lottie:基于Bodymovin的矢量动画,适合复杂图形动画。
  • Spring:自然物理驱动的动画系统,常用于React Native和Framer。

使用场景

  • 微交互(按钮、切换、悬停效果)
  • 加载状态(骨架屏、旋转器、进度条)
  • 页面过渡(进入/退出动画、路由切换)
  • 滚动触发效果(滚动进退、视差、渐入)
  • 任何需要动效的工作

示例:实现一个带缓动的按钮动画

.button {
  transition: transform 0.2s cubic-bezier(0.68, -0.55, 0.27, 1.55), 
              background-color 0.15s ease;
}
.button:hover {
  transform: scale(1.08);
}

相关技能