Motion Inspo:查找、分解、测量参考
优秀的动态图形并非源于文字描述,而是来自具体的参考范例。本技能用于查找参考影片、下载以供研究、分解为单帧并加以测量。利用同样的测量方法,你之后可以检查自己的渲染结果。
版权声明: 参考片段归其创作者所有。仅在本地研究使用,绝不重新上传,绝不放入仓库(refs/clips/ 应位于 .gitignore 中)。借鉴的是语法(节奏、过渡、镜头运动),而非内容。
所有脚本均位于本技能的 scripts/ 目录下。它们会写入当前工作目录的 refs/ 文件夹(或 $MOTION_REFS_ROOT 指定的位置)。前置条件:python3、ffmpeg、uv(用于有依赖的脚本)。
来源
references/referenzfilme.md:50 个按风格评估的参考影片(干净 SaaS、高端产品、动态排版、3D 对象、解释性视频、编辑/拼贴、暗黑电影),包括反例参考。- whatships.com(约 2500 个来自 X 的发布视频)和 flowjam.com/library(55 个精选发布影片),可通过
refs.py search访问。 - 更多页面和数据集:仓库主目录中的
RESOURCES.md。
命令
python3 scripts/refs.py search product launch 3d keyboard --n 15 # 搜索 whatships + flowjam
python3 scripts/refs.py get <x.com-status | whatships | youtube | vimeo-url> --name <slug> # 下载到 refs/clips/
python3 scripts/refs.py study <slug> --every 0.5 # 分解为单帧、弧线、剪辑、节奏 -> refs/study/<slug>/
python3 scripts/sheet.py <video.mp4> <out-prefix> --every 0.25 # 生成带时间戳的联系表(4 帧/秒)
uv run scripts/ref_metrics.py <ref.mp4> --no-ocr # 测量目标参考
uv run scripts/ref_metrics.py render.mp4 --ref <ref.mp4> --out check/metrics # 将自有渲染与参考对比
uv run scripts/motion_check.py render.mp4 [--script sprechtext.txt] # 检测幻灯片/Slop 模式
uv run scripts/beats.py track.mp3 --fps 30 --out beats.json # 从音乐中提取节拍网格
搜索关键词使用英文,并且基于运动而非行业:例如 "camera dives into ui"、"kinetic type scale jump"、"object becomes logo"、"paper collage top down"。
测量结果的含义
ref_metrics.py 测量:每 10 秒的剪辑和新视角数量、镜头时长、“相机静止”比例、每帧图像变化、空白片段、文本占比、亮度/对比度/饱和度,以及开头(前 2 秒)。由此设定目标:密度 ≥ 参考的 80%,“相机静止” ≤ 参考 + 15 个百分点,开头运动 ≥ 参考的 80%。
测量结果最重要的启示:感觉上的密度(“每秒一个新画面”)通常来自快速的镜头移动和材质变化,而非大量剪辑。一个实测的 3D 产品视频每 10 秒仅有 4.3 个剪辑,但镜头静止时间只占 14%。
motion_check.py 会检测已知的 slop 模式:左上角标题加下方图片(幻灯片)、静止的句子、重复语音的文本(回声)、冻结的时间、过长的镜头、文字墙、网格排列。通过仅表示“没有已知的 slop 模式”。是否优秀,还需看画面本身。风格相关的阈值文件:motion-director/references/rules.md。文本检查使用 macOS 的 OCR(ocrmac);在其他系统上仅运行图像和时间检查。
分解分析(每个参考不超过 10 行)
流程和模板:motion-director/references/inspiration.md。简要步骤:以 4 帧/秒的速度查看弧线,针对每个镜头记录时间、景别、相机运动、内容、材质/光照、过渡。然后判断“我们采用”/“我们不采用”。