1实现原理 · 为什么它能做到
入口是一棵决策树,先把四类问题分流(静态构图 / 进出场 / 深度与镜头 / 多画幅适配),再进入对应规则。
├─ A static frame's layout
空间层显式继承 animation-principles:把 1/3 规则空间化成三分点与行程上限,把三层运动角色投影到 Z 轴当深度层。
**Cross-reference — apply the shared frameworks.** This skill is the spatial half of `animation-principles`. Apply them explicitly:
网格给公式而非形容词:12 栏、8px 基线、列宽算式,并给出 1920 宽的具体算例。
column_width = (content_width - (cols - 1) * gutter) / cols
焦点唯一 + 层级有固定优先级:size > contrast > color > position。
Build **visual hierarchy** in this priority order to direct the eye: **size > contrast > color > position**.
深度分层直接映射运动角色并给视差速度:背景 0.1-0.3x(Ambient)、中景 0.5-0.7x(Secondary)、前景 1.0-1.5x(Primary)。
| Background | Ambient | 0.1–0.3x | low, often desaturated/blurred | sky, gradient, texture, set dressing |
镜头语言是「一镜一意图」:禁止推+摇+旋同时上,并给出 2D/3D 通用的四类镜头与时长。
**One shot, one intent.** Don't push + pan + rotate simultaneously — combined moves read as chaotic.
进出场方向带语义(跟随阅读方向为顺、反向表示回退),并要求从最近边缘进出。
Motion that follows reading direction (left-to-right, top-to-bottom in LTR locales) feels natural and smooth; reversing it creates tension or signals "back/undo."
多画幅策略先给安全区百分比表,再要求竖屏「重排而不是裁切」。
Design the **focal point centered enough** that it survives all crops, then let secondary elements reflow per aspect.
2核心能力
3外部依赖
| 类型 | 依赖 |
|---|---|
| package | Three.js(reference 的深度视差示例,产物期由实现方引入) |
| package | 下游实现 skill:gsap-web / remotion-video / after-effects(其中 gsap-web 属 iart-ai/web-animation-skills 仓库) |
| package | CSS scroll-driven animations / Pointer Events(reference 的纯 CSS 与 JS 视差示例) |
4风险提醒 风险提醒:绿色 · 放心使用
- 交付链跨仓,单装本 pack 时有悬空引用 — composition plan 的三个下游 skill 中,gsap-web 属 iart-ai/web-animation-skills(另一 pack)。若只装 motion-design-skills,需要自行补齐 gsap 实现侧才能落地(remotion-video / after-effects 在本仓,可直接衔接)。
- 安全区数值是经验值且随平台版本漂移 — 百分比表(9:16 顶 12-14% / 底 18-20% 等)无引用出处;平台 UI 改版会使其失准。竖屏交付建议以 video-delivery-specs 的像素版(顶/底约 250px、TikTok 右侧约 120px)与当期平台规格为准。
- 规则强、风格窄 — 默认取向是「克制、单焦点、留白、慢镜头」的当代商业动效语法。若目标是密集信息图、多焦点拼贴或刻意混乱美学,需要显式偏离这些默认值,否则会被这套判据拉回中庸。
- reference 里的 Three.js 等示例会引入额外依赖 — 深度视差示例含 Three.js 思路;若照抄进产物即引入数百 KB 的运行时依赖,轻量场景应改用 CSS scroll-driven 或 CSS 变量方案(同文件内已给出)。
5第二遍独立确认
- [discrepancy] 被点名的 gsap-web 是否在本仓(防悬空引用) — 本仓 skills/ 下无 gsap-web;该 skill 位于另一工作副本 iart-web-animation-skills/skills/gsap-web(同一作者的另一 pack),其 SKILL.md 亦反向引用 shot-composition。因此这条交付链跨仓,只装 motion-design-skills 时 gsap-web 引用解析不到——属真实缺口(文档未标注「需另装」)。
- [ok] reference 是否含可执行脚本或联网调用 — camera-and-grids.md 内只有 CSS/JS/GLSL 代码块与具名镜头参数表;全目录搜 npx/curl/fetch/URL 无执行期命中。
- [ok] 与 animation-principles 的交叉引用是否一致(两处术语是否打架) — SKILL.md 明写 depth layers ARE the three motion layers projected onto Z,并把 1/3 规则拆成「构图三分点」与「行程不超过 1/3」两形态;与 animation-principles 原文表述一致,属同义映射而非冲突。
- [unlocatable] 安全区百分比是否有出处 — 9:16 顶部 12-14% / 底部 18-20%、1:1 6-8%、4:5 6%/8% 等是经验值,pin 仓库内无平台文档引用或测量数据;平台 UI 尺寸会随版本变化,实际交付应以当期平台规格复核(本 pack 的 video-delivery-specs 给的是像素级版本)。
6结论
5c7f5d87a93826a3…3c129f769d