← 返回在线对比

开发笔记:同一张图,三种做法

给 AI 一张休斯顿微缩城市的参考图,要求做成可旋转的 3D 场景,并让云、雨、雪、阳光跟着真实天气变化。Kimi K3 前后做了两版,Claude Opus 5.5 做了一版。这里记下每一版是怎么做出来的;三个版本可以在首页同屏对比。

休斯顿微缩城市参考图

参考图(休斯顿)
浮空的方形沙盘,中间是市中心高楼群,一侧有航天飞机,河流和高架绕着城市走,晴天有光束从云里打下来。三个版本都以这张图为目标,天气数据都来自免费的 Open-Meteo 接口。

三个版本

点开单独全屏体验,或回首页同屏对比。

Kimi K3 第一版截图
01 · Kimi K3 · 2026-07-20

程序化初版

React Three Fiber 写的程序化城市,约 100 栋随机楼,贴图全部由 Canvas 现场绘制。六种天气,没有昼夜变化。

单独打开 →
Kimi K3 第二版截图
02 · Kimi K3 · 2026-07-24

img2threejs 重建版

按 img2threejs 的流程对照参考图重做沙盘:圆角底座、高架、河道、航天中心。天气层沿用第一版。

单独打开 →
Claude Opus 5.5 版本截图
03 · Claude Opus 5.5 · 2026-09-23

Blender 建模 + Three.js

19 栋地标楼在 Blender 里用脚本建模后导出 GLB,前端用原生 Three.js。有昼夜循环、逐小时预报预览、阴影体积光和移轴模糊。

单独打开 →

数字对比

数据取自各自的会话记录。Token 口径不同家不完全一致,只看量级。

01 Kimi 初版02 Kimi 重建版03 Claude
模型 / 工具Kimi Code CLI · k3(思考 max)Kimi Code CLI · k3(思考 max)Claude Code · Opus 5.5
技术栈Vite + React + R3F + drei + zustand同左,模型换成手写 three.js 工厂函数原生 JS + Three.js r170,Blender 建模
有效工作时长约 1 h 编码约 2 h约 3.2 h(含 1 h 环境排障)
用户发言11510
LLM 请求 / 回复98(子代理另 31)155131
输出 Token68K(子代理另 18K)95K251K
缓存读取 Token7.1M(子代理另 1.7M)38.0M44.7M
昼夜变化无,仅随天气变暗有,按小时计算太阳位置,可 3 分钟播完一天
晴天光束加性面片 + Bloom同左采样阴影贴图的体积光,会被楼挡住
用户评价“2/10,细节太差”未评价要求补 Blender 细节后收尾

开发笔记

01 · Kimi K3 程序化初版

2026-07-20 19:42 → 07-21 12:38 · Vite + React Three Fiber

先进规划模式出方案,定下“不做图片三维重建,做参考图风格的程序化场景”。一小时内交付了可交互版本:约 100 栋种子随机楼,中心高、四周低;航天飞机、20 辆沿路网行驶的车、河流和公园。所有贴图用 Canvas 2D 在运行时画出来,没有任何外部素材。

天气怎么做

过程里的问题

02 · Kimi K3 img2threejs 重建版

2026-07-24 17:33 → 07-25 13:05 · 沿用 R3F 外壳 + 手写模型工厂

用户要求推倒重来,用 img2threejs 的流程对照参考图重画。Kimi 读完工具的说明和校验脚本,写出包含 28 个组件、18 种材质的建模规格,按 8 个阶段逐步搭建。工具本身只生成占位几何,真正的模型是 Kimi 手写的约 1000 行 three.js 工厂函数。

做得好的地方

需要打折看的地方

03 · Claude Opus 5.5 · Blender + Three.js

2026-09-23 13:39 → 16:50 · 原生 ES Module,无构建工具

第一版 19 分钟完成,纯 three.js 程序化建模,19 栋楼按休斯顿真实地标做了近似。之后按用户要求把页面风格对齐到另一个项目,再重做光束和云,最后接入 Blender MCP 精细化建模。

管线

天气怎么做

过程里的问题

学到的几件事

  1. 瓶颈在素材,不在框架。R3F、原生 Three.js、Babylon 都能跑起来,拉开差距的是几何细节和光影。纯代码拼方块很快就会碰到上限。
  2. 把专业工具接进来,要先确认它真的在干活。Blender 让楼体细节明显上了一个台阶,但它只负责了楼,其余部分还是代码生成。问一句“这个工具具体做了什么”很有用。
  3. 自评分数别当真。img2threejs 的质量门本来是好设计,但评分由模型自己打,硬指标没过也能记为豁免。最后还是得人眼看。
  4. “先讨论再动手”要落到流程上。子代理一旦派出去不一定会听中途的插话,改坏依赖的代价会拖到下一轮。
  5. 长会话的成本主要在上下文。三个版本输出都不到 30 万 Token,缓存读取却有几千万,频繁截图验证和长上下文是大头。