关于 motion-assets
motion-assets 是面向动画网站图像与视频素材的制作技能,帮助团队预先规划生成、控制成本并保持统一风格。它还提供循环检测和素材记录流程。
主要功能
- 01规划素材提示词、模型与成本
- 02保持统一视觉风格
- 03先生成静帧,再生成锚定视频
- 04检测并修复循环片段
- 05记录设置与生成素材
适用场景
- 01在生成素材前规划预算
- 02制作视觉风格统一的动画网站
- 03修复循环跳变与视频衔接
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ moh4696/ open-3d-skills --skill motion-assets安装后在 Claude Code 中输入/motion-assets确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlscripts/loop_check.pypaste_back.py详细介绍
动态素材
生成素材决定了动画网站的成败,而每次尝试都要花真金白银。这项技能是围绕模型开展的制作规范:花钱之前先决定所有能确定的事情,让所有素材风格统一,按照能让后续素材以先前素材为锚点的顺序生成,用数据检查每个素材,并把所有内容记录下来。
工具
| 脚本 | 作用 |
|---|---|
scripts/loop_check.py | 评估片段循环播放的效果,找出最佳循环点,并对片段进行修剪和交叉淡化 |
scripts/paste_back.py | 将原始像素放回扩图后的图像中(扩图也会重新渲染中间区域) |
相关工具:alpha-cutout(需要透明背景的片段)、scroll-film(prep.py seams 用于评估串联片段之间的衔接)、cursor-rig(转头片段)。
需要 Python 3.9+、pip install numpy opencv-python-headless 和 ffmpeg。
开始花钱之前
写一份简短计划,并展示给付款方:
- 用两句话描述概念,以及页面上哪些内容会动。
- 素材清单:每张图像和每段片段的尺寸、宽高比、在页面上的作用,以及确切的提示词。
- 每个素材选用的模型,根据功能来选择(见下表),以及每项和总计的费用。先校准:生成一张静态图和一段短片,查看实际收费,然后据此估算其余费用。计划和价格会变;绝不要凭记忆报价。
- 减少动态效果时访问者会看到什么,以及在手机上的显示效果。
获得确认后再生成。
根据功能选择模型
| 需求 | 模型必须支持 | 备注 |
|---|---|---|
| 以指定帧结束的片段 | 起始帧和结束帧 | 串联式滚动影片、转头动画和循环片段必不可少 |
| 无缝循环 | 起始帧 = 结束帧 | 然后用 loop_check.py 检查;模型很少能做到完全一致 |
| 同一角色的姿势或表情变化 | 能保持构图的图像编辑 | 按原尺寸与源图比较:只能更改编辑过的部分 |
| 透明主体 | 无特殊要求:使用色键背景拍摄 | 参见 alpha-cutout。少数图像模型能输出真正的透明通道;视频模型不行 |
| 更宽的画面 | 扩图 | 扩图会重新渲染原始区域:将其粘贴回去(paste_back.py) |
| 清晰度 | 原生分辨率 | 绝不要把片段放大后称为 1080p;按模型返回的分辨率编码 |
2026 年使用这些模型进行制作时的观察结果(请查看当前文档;行为会变化):
- 视频模型会让单段片段中的纯色背景发生偏移(纯品红色会变成浅粉色);请逐帧抠像。
- 模型会在片段中途改变细节(发球到后段时,黑色帽子变成了绿色)。要看完整段片段,而不只是首尾帧。
- 某些更高分辨率和质量模式需要订阅相应套餐。被拒绝的请求通常不会收费:用能验证访问权限的最低成本请求进行测试。
- 许多套餐的速率限制很严格:同时只能运行两三个视频任务。分批小量提交;其他任务完成后,仅重新提交返回 429 的任务。
- “服务器无响应”错误并不总是表示任务没有创建。重新提交前先查看近期任务,否则可能付两次钱。
- 请求可能会返回建议预设,而不是任务;拒绝该预设后重新提交。
所有素材风格统一
- 编写一段风格前缀(媒介、调色板、光线、镜头、纹理),并逐字节地将其添加到每条图像提示词前。
- 先生成一张主视觉静态图并确认,再将其作为风格参考传给之后的每张图像。
- 一整组串联片段使用同一个视频模型。每个模型的动态效果、色彩和颗粒感都不同;影片中途切换模型会在衔接处显出风格跳变。
生成顺序
- 静帧:先生成主视觉图,再生成关键帧(每个片段的起始帧和结束帧),最后生成辅助图像。在生成任何视频前,先并排检查这些图像。
- 片段:每个片段都以已批准的静帧为锚点。对于片段链,要将每个片段的起始帧锚定在前一个片段精确提取的最后一帧上,而不是静帧上,以免色彩漂移逐渐累积成跳变。
- 检查每个片段:循环片段使用
loop_check.py,片段链使用scroll-film/scripts/prep.py seams,并通过肉眼检查整个片段是否存在细节漂移。
效果良好的片段提示词:
- 指明摄像机:「固定摄像机」或明确的运动方式(「缓慢推进,不旋转」)。
- 指明哪些内容不能移动:「主体、背景和光线都保持完全静止」。
- 对于循环片段:「运动保持恒定、均匀;结束时不要减速」。模型默认会平滑减速至停止,导致每次循环都出现卡顿。
loop_check.py会报告这种情况。 - 对需要抠像的内容,重复说明底板颜色。
修复,而非重新生成
| 问题 | 修复方法 |
|---|---|
| 循环有轻微跳变 | loop_check.py clip.mp4 --fix loop.mp4 会在最佳循环点剪辑;添加 --blend 6 可对轻微漂移进行交叉淡化 |
| 循环跳变较大(超过约 8) | 使用起始帧 = 结束帧的设置和恒定运动描述重新生成 |
| 扩图后主体变模糊 | paste_back.py original.png extended.png out.png |
| 片段链之间有接缝 | 从前一个片段提取的最后一帧重新生成后续片段 |
| 一个细节在片段中途变色 | 如果色彩区域独立,可在后期重新着色;否则重新生成 |
记录所有内容
每次生成都要记录在 prompts/asset-prompts.md 中(并以机器可读格式记录在 JSONL 日志中):素材名称、模型、完整提示词、输入图像、设置、任务 ID、成本,以及最终保留的输出。这是数月后以相同风格重新生成单个素材的唯一方法,也是记录哪些内容由 AI 生成的真实依据。
评论
支持 Markdown