记录这些科普短片的做法:每支片子是网页画布上的一个时间函数,无头浏览器逐帧截图、ffmpeg 编码,配乐由 numpy 从正弦波和滤波噪声合成,并按字幕时间表对齐段落和鼓点。动画由 Claude Code 编写,每集经过动画、三位评审、修改和核对四步。中文竖屏系列先用了“微缩沙盘”,因为不够吸引人,又做了三种样片,最后选定“夜光模型”。附两组画风试样。
画面怎么来的
每支片子都是网页上的一块画布,任何一帧的画面只由时间决定,没有在帧与帧之间保存的状态。渲染时用无头浏览器一帧一帧截图,分成几段并行,再用 ffmpeg 一次编码;关键帧放在配乐换段的地方,暗色画面不容易出现闪烁。
字幕和节奏由同一张时间表控制:配乐 112.5 BPM,一拍等于 16 帧;每句字幕在画面上至少停留 4 + 字数/2.6 拍(有数字再加半拍),一句字幕期间画面只出现或改变一样东西,画面上不出现字幕没说过的字。
配乐
配乐不用采样,由 numpy 从正弦波和滤波噪声合成钢琴、拨弦、铺底、鼓组。每个系列单独写一首:区域经济学竖屏系列是“火车”,日语授课版是毛毡钢琴,政策系列是电子律动。曲子的段落和鼓点直接读每集的时间表,所以标题落下的那一拍正好是一个鼓点。
每集怎么做、怎么查
动画、构建脚本和检查工具都由 Claude Code 编写。一集的流程是:先画完整一集,再请三位评审各看一遍(导演兼节奏、第一次刷到的观众、按创作者口味设定的评审),把必须改的地方改掉,最后核对:每一帧没有报错,字幕和稿子逐字一致,数字都来自稿子的数字表,元素在手机安全区内,移动速度不超过上限。
画风试样
第一次做区域经济学的连片时,先试了八种画法:
后来区域经济学的中文竖屏系列先用了“微缩沙盘”:斜看的立体小模型、浮在上面的信息板、每一段换一块沙盘。创作者看完觉得不够有趣、不够吸引人,倒想起最早那支沙滩冰淇淋摊的博弈论短片:整支片子是一个连续的小世界,摊位一挪,分界线和计分板同时跟着变。于是用第一集的同一段(同样的字幕和配乐)做了三种样片,再加上原来的沙盘版对照:
三位评审中两位选了夜光模型:它把博弈论短片的做法搬了过来,一条发光的铁路贯穿全片,打车计价器式的读数随画面实时跳动。最终方案以夜光模型为底,从桌游借了有分量的红色筹码和钉在画面上的计分牌,从手绘涂鸦借了两根柱子的前后对比;五集按这套规则重做,就是现在研究板块里区域经济学系列的竖屏片。
从反馈里留下的几条规则
- 一集只讲一个点,并带一个意外;观众已经知道的不讲。
- 字幕用口语,不写断成碎句的“AI 腔”,群体不用“他/她”指代。
- 画面一次只出现一样东西,节奏宁慢勿快。
- 不放旁白头像或吉祥物。
- 数字只来自稿子的数字表,注意事项和出处放在置顶评论或正文里。