Wink Pings

用代码生成一支动画短片,Claude 这次审美在线

有人用 Claude 设计了一套代码生成动画的流程:Canvas 逐帧绘制、无头 Chrome 导出、ffmpeg 合成,配乐也由代码生成,画面是孟菲斯风格。其中一套场景设定是北京东三环央视大楼。附成都平原和玉林路两支成片,审美在线。

有人用 Claude 生成了一段孟菲斯风格的动画。画面里的物体都带深靛色描边和硬投影,饱和原色与粉彩铺成大色块,上面再叠圆点、条纹、折线。给出的完整做法是:用 Canvas 写一个确定性的 frame(i) 函数,输入帧号输出一张图;场景按坐标和固定随机种子生成;无头 Chrome(不带界面的浏览器)逐帧导出,ffmpeg(视频合成工具)合成;配乐也用代码合成,五声音阶轻旋律加环境声。

这种风格落到具体场景,有人设定为北京东三环中路,途经央视总部大楼。镜头沿道路缓慢前行,让央视大楼标志性的倾斜双塔与悬挑结构逐渐进入画面,周围铺开 CBD 高楼、立交桥、车流、公交站和街边树木。初秋晴朗午后,车辆有序穿行,云影缓缓扫过楼体。一辆明黄色公交车从镜头旁驶过,恰好露出后方完整的央视大楼;随后一片落叶被车流卷起,短暂跟随镜头飘动,再落向路边。画面轻快、明亮,是北京繁忙街头的日常感。

下面这支视频是同一风格下的演示。

Eian 贴出了两支,本质上就是把地图或街景做成会动的微缩模型:先画出场景,再让镜头缓慢移动,配上画面里的小动静。一支是成都平原春日田野,一支是成都玉林路的秋天,说“再一次被 Claude 的审美震惊”。两支动画的节奏都靠小动静撑起来——鸟飞过、云影掠过、鱼游、人走、车开。画面下方还有三行居中小字:标题、季节描述、经纬度,随镜头变化。

做法不复杂。核心是 frame(i) 函数:输入帧号,输出一张图。随机数按帧号重新播种,保证不同批次渲染能对上。全部画完后,用 ffmpeg 按帧率合成。动画里的运动来自一镜到底的慢推和旋转,画面中的“剧情瞬间”——鸟飞、鱼游、落叶被卷起——让静态的地图活过来。

但这套流程有几个容易翻车的地方。有网友提醒:frame(i) 里如果用了 Math.random,必须按帧号重新播种,否则不同批次渲染对不上。字体贴图要在首帧前加载完。经纬度那行数字每帧变化,按字符槽位固定宽度能避免文字左右抖。另一位网友补充,帧里的时间用 i/fps 算,ffmpeg 合成时再指定 -framerate,以后想改时长帧率就不用重写动画。

有一条回复说得比较准:如果这是人做的,我们会惊讶这个人多有才华;现在是 AI 做的,我们会慢慢把它当成基本操作。工具把门槛降下来了,但审美仍然是稀缺的。这些动画最动人的地方,反而在画面里那些小动静——一片落叶被车流卷起,云影缓缓扫过楼体。那是判断力,不是参数。

发布时间: 2026-10-27 12:23