P(doom) 水彩音乐短片
AIGC工作流
Opus 5.5 纯代码动画实现指南
一部电影混剪,一支《New Boy》MV。画面里的眼睛、城市、人物和旧电脑,都由代码绘制。
这次制作没有预先配置 Skill。我先让 Claude Code 研究 X 和 B 站上的 Opus 5.5 动画,拆解画风、叙事、运镜、转场和声音,再把研究整理成制作方案,开始写自己的片子。
下面把作品、研究结论和落地方法放在一起。想先看参考,可以直接跳到片库。
一、研究报告
Claude 最初从八条参考片整理出一份落地方案,后续又补充了样本与来源核对。这里保留能用于制作的部分:媒介、节奏、转场、叙事、动作、工程和声音。
媒介要能解释物体怎么动
纸拼贴可以折叠、撕开、重新排列;沙画可以聚拢、抹去;马赛克可以翻转、散开、归位。先规定材料如何变化,模型就有了一套可重复使用的动作语言。
Chris Riley 的马赛克案例把图形设定为一群可以活动的瓦片。鱼游动时,组成鱼的瓦片也在运动;瓦片飞走后留下空位。材料本身就足以组织一个镜头。作者公开的 prompt 片段






纸拼贴、水彩、孔版、沙画、马赛克、像素。参考片的材质与运动方式相互配合。
把节奏写进时间结构
Kevin Ngo 的《What do you love?》在中段加速更换道具,人物保持相近的位置与尺度。观众不用重新寻找主体,便能接住快速变化。密集帧中,15 至 16 秒的四个画面各占约 0.25 秒。
这个观察可以用于设计节奏,但不能据此断言全片每一刀都准确命中音乐。制作时应分别标记画面切点、音乐拍点与音效起点,再回放它们之间的关系。

Kevin Ngo · What do you love?:稳定主角,逐渐缩短换画面的间隔。
每个镜头都要提前想好出口
DreW 的科学短片不断在微观与宇宙间切换。圆形、分叉、螺旋、粒子群延续到下一个对象里,视线因此有地方可去。P(doom) 的分镜文档也为镜头记录了如何离开当前画面。
出口可以是一个形状,也可以是运动方向、遮挡物或一道光。先确定观众正在看哪里,再让下一个场景从那个位置接续。不要等镜头全部做好,最后才给它们套同一种淡入淡出。

DreW · Made with Claude:相邻画面延续形状、密度和运动方向。
短片也要有等待、变化与回收
《What do you love?》先递出一个问题,再用一连串爱好积累答案,最后把注意力放回纸条上的“你”。《P(doom)》则在结尾回到舞台。结尾使前面看过的画面获得新的含义。
设计两三分钟的片子时,可以先写三个节点:开头让观众在意什么,中间改变了什么,结尾留下什么。视觉奇观放在这条线上,才有前后轻重。
留住姿势,细节再动
角色摆好一个清晰姿势后,可以暂时停住,只让呼吸、眼睛或衣角变化。P(doom) 的代码把部分手绘线条以每秒 12 次的频率更新,形成线条轻微跳动的手感。姿势的停留时间与画面输出帧率可以分别设计。
像素动画也一样:逻辑分辨率、有限调色板、整数坐标和动作状态机,比简单地把普通矢量图缩小更有效。Majid 的完整规格 prompt把这些约束逐项写了出来。
先写制作约定,再拆章节
P(doom) 的仓库保留了动画指南、分镜表、共享绘图模块与九个章节文件。角色、颜色和时间工具共用;每段镜头由自己的文件实现。接触表可以快速检查构图、主体位置、字幕和交接画面。
并行制作之前,先把交接帧约定清楚。否则,多个 Agent 只会更快地产出几段彼此不相连的动画。P(doom) 项目源码
声音要分清来源,也要单独设计
代码可以合成声音、写 MIDI,也可以调度采样和已有录音。不同路线的听感、制作成本和来源要求并不相同。P(doom) 使用已有歌曲;《Window Seat》用代码写钢琴乐句,音色来自 Salamander 钢琴采样;这次《New Boy》使用原曲录音。
音效应该与画面里的具体事件相连:哪一刻物体碰到桌面,哪一刻快门闭合,哪一刻火车驶过。峰值、响度和波形可以查技术问题,最终还需要完整观看和聆听。
二、成片 & 脚本
看 - 电影混剪
四部电影,四种观看的方式:HAL 的凝视、Alex 被迫睁开的眼睛、洋洋拍下的后脑勺,以及老唐寻找信号的电视雪花。用代码重绘这些意象,把它们接成三分钟。
画面是对电影意象的代码重绘,没有使用电影原片画面。四个章节以不同媒介区分,再用圆形、快门和雪花屏衔接。
先把转场写清楚
这部片的制作方案先约定了交接画面:上一段必须交出什么,下一段从哪里接。HAL 的红眼收成瞳孔,转成橙色、长出睫毛;眼睑闭合后接相机快门;照片中的电视被推近,雪花填满屏幕,再进入山野。
HAL 红眼 → Alex 的眼睛 → 相机快门 → 电视雪花 → 锅口与日出
四段可以分别制作,但交接时刻共用同一套形状、位置和背景色。这样才能避免每段各自成立,拼起来却像换了一个视频。
《看》的分镜方案
下表是制作时使用的分镜约定。它说明设计意图,不代表每一个镜头都已经达到最终效果。
时间 | 画面与动作 | 如何接出去 |
|---|---|---|
00:00 至 00:10 | 放映机启动,光点张开,石碑从光圈里出现。 | 光圈中的荒原接管全屏。 |
00:10 至 00:20 | 荒原、石碑、日出,用简单几何建立尺度。 | 骨头被抛上天空。 |
00:20 至 00:26 | 旋转的骨头变成航天器,呼应原片的匹配剪辑。 | 运动延续到太空。 |
00:26 至 00:34 | 空间站圆环旋转,飞船靠近。 | 圆形焦点转到 HAL。 |
00:34 至 00:46 | 红眼与被抽出的记忆模块,灯光逐渐衰弱。 | 红眼进入光廊。 |
00:46 至 00:52 | 透视条纹构成星门,收束成瞳孔。 | 红色转橙色,长出睫毛。 |
00:52 至 01:04 | 从眼睛后拉,露出礼帽与抽象奶吧。 | 人物起身,转入行走。 |
01:04 至 01:14 | 四个剪影沿水边行走,手杖和倒影承担动作。 | 回到眼睛的特写。 |
01:14 至 01:28 | 图形化的眼睛被夹具撑开,瞳孔映着银幕色块。 | 眼睛终于闭合。 |
01:28 至 01:34 | 眼睑过渡成相机光圈。 | 同一黑场接快门打开。 |
01:34 至 01:46 | 快门响起,后脑勺照片逐张显影。 | 照片接到一扇窗。 |
01:46 至 01:58 | 人影、雨与城市叠在玻璃上,前后层以不同速度移动。 | 画面变暗,留下投影光束。 |
01:58 至 02:08 | 教室科学放映,光束里有灰尘和女孩的剪影。 | 闪光照亮路口。 |
02:08 至 02:16 | 父女情感线以分屏并置,再推近电视。 | 电视雪花铺满画面。 |
02:16 至 02:26 | 从雪花屏后拉,人物守着旧电视。 | 噪点中的图形牵引视线。 |
02:26 至 02:38 | 山脊、队伍、顶锅少年,同心圆扩散如信号。 | 进入山洞与星空。 |
02:38 至 02:54 | 以升空、铁锅和植物做动画改编,锅口与太阳重合。 | 绿色圆形回到全片共同母题。 |
02:54 至 03:00 | 红、橙、蓝、绿四个圆收束四部电影。 | 留下片名《看》。 |
两处需要区分:在《一一》中,是 NJ 重遇旧爱与女儿初恋的平行叙事;升空和锅中植物属于这部动画的改编设计,不应当作《宇宙探索编辑部》原片桥段。
New Boy - 音乐MV
第二部从一首已有的歌出发。以日历、旧物、人物换装和 Windows 98 窗口组织画面,统一成彩色印刷的质感。歌曲里的年代感,也成为转场的材料。
音乐:朴树《New Boy》原曲录音。画面由 JavaScript、Canvas 2D 和 WebGL2 印刷着色器绘制,未使用生成图片。画面制作与歌曲录音来源是两件事。
同一张时间表,控制不同层次的动作
项目把段落、拍点和歌词字级时间放在同一个文件里。小节控制大段落,一拍控制换色与动作重心,字级时间控制口型和窗口拖动。窗口的残影也由过去的时间点重新计算,拖动进度条后仍能得到同一幅画面。
角色不需要每一帧都平滑移动。部分姿势按较低频率更新,镜头和节拍仍连续推进;错版偏移在重拍时突然增大,再快速收回。这样,印刷质感参与了节奏。
制作脚本
我的起点是让 Claude Code 自己研究,不预装 Skill。研究完成后,继续在同一个上下文中给出题材、时长和审美方向,让它把可借鉴的方法写成自己的制作约定。
报告至少要回答这些问题
研究什么 | 报告里留下什么 |
|---|---|
画面 | 媒介、调色板、边缘处理、纹理和人物尺度,配代表帧。 |
叙事 | 开场信息、段落变化、高潮与结尾回收。 |
镜头与转场 | 时间点、焦点位置、运动方向,以及前后两个对象如何连接。 |
声音 | 音乐来源、拍点结构、音效对应的动作,以及明确的留白。 |
制作证据 | 作者原帖、公开 prompt、GitHub、制作文档。找不到的直接标明。 |
先看几帧,再看一整条粗剪
方向样张要由实际动画引擎渲染。选定材质之后,先做全长动态分镜,人物和背景都可以很简单,但每段多长、在哪里加速、哪里留白、怎样转场都应该已经能看见。
确认节奏后再精修章节。每次只修一个可观察的问题,例如“人物还没被看清就切走了”“眼睛接快门时中心位置跳了”“音乐进入副歌,画面密度却没有变化”。比起反复要求“更高级”,这样的修改更容易落到代码上。
方向样张
用真实渲染的代表帧确认角色、材质、色彩和光。
全长动态分镜
先看节奏与转场,让全片在低精度下成立。
逐段精做
补表演、二级动作和细节,持续检查章节交接。
声音与成片
按事件做音效,完整回放,再导出和检查。
一份可以直接改的制作 brief
下面是按这次方法整理的起始模板,可按自己的题材修改;它不是任何参考片作者的原始 prompt。
我要做一部【题材】的纯代码动画,时长【时长】,画幅【比例】。
先研究我提供的参考视频。分别拆解叙事、画风、运镜、转场、节奏和声音,记录时间点与代表帧。核对作者披露的 prompt、源码和制作文档,区分作者自述与已经核实的内容。生成一份拆解报告。
不安装、不配置 Skill,直接使用当前环境开始制作。
先提出一种适合代码实现的媒介,并写清它的材质和运动规则。给出故事主线、色彩变化、音乐段落、高潮和留白。
每个镜头写清:时间、焦点、主要动作、镜头运动、声音事件,以及怎样进入下一个镜头。优先用物体、形状、运动方向或遮挡衔接,避免连续使用同一种转场。
画面由确定的时间和种子计算。音画共享一张时间表。角色、材质和镜头分层;制作约定与分镜先落盘。
先给实际引擎渲染的方向样张,再做全长低精度动态分镜。节奏确认后逐段精修,每次检查交接前后的连续帧。
保留可拖动时间轴的 HTML 和可导出的 MP4。声音注明合成、采样或录音来源;检查时长、帧数、响度与音画同步,并完整回放。公开的 prompt,适合怎么学
写法 | 能借鉴的部分 | 原始材料 |
|---|---|---|
题材与时长 | 先给清晰主题、成片长度和气质,让模型提出结构。 | |
材料规则 | 规定材料怎样散开、翻转和重新归位,风格便有了动作逻辑。 | |
具体规格 | 逻辑分辨率、调色板、姿势、状态机和验收标准。 | |
完整制作约定 | 统一角色、章节接口、时间规则、渲染与检查工具。 |
工程与声音
原始落地方案采用原生 JavaScript、Canvas 2D 与 Web Audio,需要印刷、辉光等效果时增加 WebGL2。它是一条适合这次制作的路线;参考片里也有 p5.brush、Blender 和采样音色等其他实现。
让任意一帧都可以重新得到
镜头只由时间与固定种子计算。调用 renderAt(63.98),不需要先播放前面一分钟。它让定点检查、拖动时间轴、局部返工和逐帧导出都变得可行。
随机纹理固定种子,残影从历史时间点计算,运动轨迹写成时间函数。若粒子依赖状态模拟,就保存可恢复的状态,或给它提供确定的重放方法。
层次 | 负责什么 | 修改时能保住什么 |
|---|---|---|
场景 | 人物、道具、构图、动作与镜头。 | 更换材质时,故事与走位仍能保留。 |
媒介 | 纸纹、网点、错版、扫描线、像素量化。 | 同一套动作可以检查不同视觉方向。 |
光学 | 辉光、反射、暗角和色散。 | 控制效果强度,不淹没主体。 |
时间 | 段落、小节、拍点、歌词与音效事件。 | 同一事件只改一处,声音和画面一起调整。 |
把“卡点”写成具体事件
一张 cue 表至少包含事件、时间、视觉动作、声音和动作前后的停留。不是所有动作都需要击中重拍:蓄力可以提前,接触落在拍上,回弹稍后完成。整齐与变化需要同时存在。
事件 | 画面处理 | 声音处理 |
|---|---|---|
快门闭合 | 叶片收拢到全黑,同一时刻交接场景。 | 快门声对应闭合,环境声可以跨过转场。 |
窗口最大化 | 拖动先铺垫,到关键字时迅速撑满画面。 | 以歌曲本身的重音组织动作,避免无意义叠加提示音。 |
物体落地 | 接触、压缩、回弹分别有时间。 | 撞击对应接触;余响长度与材质匹配。 |
段落收尾 | 降低动作密度,给观众辨认和回味的时间。 | 减少声部,保留环境或一个持续音。 |
从 HTML 到 MP4
浏览器里的 HTML 用于检查和修改,MP4 用于稳定播放。导出时按固定帧率逐帧调用渲染函数;代码合成的声音可离线输出 WAV,已有音乐保留独立音轨,最后交给 FFmpeg 合成。
成片需要检查画幅、帧率、时长、音轨和首尾。浏览器实时播放流畅与离线导出正确,要分别验证。接触表用于找构图和衔接问题,完整回放用于判断节奏和听感。
常见问题与修改方法
看到的问题 | 先改哪里 |
|---|---|
画面像默认矢量图 | 统一边缘、纹理、色彩数量和动作规则,减少材质混用。 |
人物僵硬 | 先确认关键姿势、重心、视线和停留,再加眨眼、呼吸等细节。 |
每段同样长,同样热闹 | 在动态分镜阶段重排时长,写出高潮和留白。 |
转场像强行套效果 | 回到上一镜头的焦点,寻找对象、运动方向或遮挡关系。 |
数值都合格,声音仍单薄 | 重新检查音色、声部、动态与场景关系;测量不能替代听感。 |
全片渲染太慢 | 先小画幅验证,缓存不随时间变化的内容,分段导出并保存进度。 |
三、参考片库
二十条参考,包含短片、MV、材质实验和模型对照。源码、制作资料和公开 prompt 的入口放在对应作品下方,点开视频可看原帖与具体观察时间点。
What do you love?
Made with Claude,第一部
Small print
250 年美国历史沙画
Glass and gold leaf mosaic
Pixel wizard
Opus 与 Astra 对照
Oktoberfest
One Suit, Six Toons
像素太空跑者
Kevin 的 Blender 小循环
珊瑚生态昼夜循环
Opus 5.5 动画实测
官方宣传片复刻对照
两分钟代码动画
关闭电脑之后
代码 MV 实测
Made with Claude,第二部
Window Seat
资料整理于 2026 年 9 月。片库不等同于全部热门作品榜单;“一次生成”和模型归属等制作过程信息,未独立复现的均保留为作者自述。