新哥特式塔楼城市 · 可漫游 3D 场景(任务正文 v1)
单个 HTML 文件的 3D 场景:以真实比例(1 单位 = 1 米)程序化生成一座建在礁岩上的新哥特式塔楼城市, 四面环海,可以自动巡航也可以第一人称漫游。所有几何体、材质、天空、海浪与火焰均由代码生成, 除 Three.js r160(CDN)外没有其他外部资源。
打开方式
直接双击 index.html,需要联网加载 Three.js(jsDelivr 主源,失败自动回退 unpkg)。
场景构成
- 海面:四组 Gerstner 波叠加(波长 62 / 31 / 17 / 7.5 m),顶点着色器位移并解析求法线, 片元着色器按菲涅耳混合深浅水色,加太阳高光与碎光带,远处按距离淡入雾色。
- 礁岩:半径 268–292 m 的岩基 + 一层台地,海平面 y = 0。
- 城市:默认 46 座塔(12–72 可调),间距 46 m 呈错列街区。核心区塔高 98–172 m、基座更宽, 边缘区 34–98 m;主轴大街与横向大道留出,中央是圆形广场与喷泉。
- 哥特构件(全部程序化):四段收分塔身 + 腰线、八角攒尖顶、四角小尖塔、女儿墙尖柱、 裙房尖拱门廊、飞扶壁、玫瑰窗(双环 + 八辐条 + 内层玻璃)。
- 窗与街灯:InstancedMesh 批量渲染,夜间按
emissiveIntensity点亮,街灯配灯杆。 - 火焰:高塔顶部的火盆,每处 130 个加色混合粒子,GPU 端按生命周期上升、摇曳、变色。
- 海雾:900 个半透明 Points 缓慢漂移。
相机
| 模式 | 操作 |
|---|---|
| 自动巡航 | 沿 CatmullRom 闭合曲线绕城一周并轻微起伏;滚轮调整航高,拖拽微调视角 |
| 自由漫游 | WASD / 方向键移动,拖拽转头,空格上升、X 下降,Shift 加速,滚轮调速;闲置 14 秒自动回到巡航 |
面板
时刻(0–24 小时连续调节,联动天空、太阳、月亮、雾、环境光、海面高光与窗火)、海浪强度、 火焰粒子密度、塔楼数量(防抖重建)、窗火与街灯、飞扶壁与尖顶细节、阴影、画质(低 / 中 / 高, 调整像素比、海面网格、窗与雾的实例数)、以及『待确认』清单开关。
待确认
按任务正文要求,凡涉及取舍或未做的部分都在页面内的「待确认」面板中列出,包括:CDN 版本锁定、 真实比例的定义、飞扶壁与玫瑰窗为近似几何、海面未做真实反射、火焰与海雾为无贴图 GPU 粒子。
性能处理
- 上千个小构件按材质合并为单个 BufferGeometry(自实现
mergeByMaterial),draw call 控制在 10 个以内。 - 窗、街灯用 InstancedMesh;高画质下才开启全部窗。
- 阴影默认关闭,可在面板开启(开启后阴影贴图 2048²)。
已知边界
- 未使用
examples/jsm的控制器、后处理与几何工具,相机与合并逻辑均为自实现。 - 没有真实反射、SSR 或体积雾;夜空的星点是基于方向量化的伪随机,不是真实星表。
- 塔楼布局是规则网格加随机扰动,不是真实的城市路网。
当前归档信息(自动生成)
- 实验 ID:
neo-gothic-tower-city--minimax-m3-1-flash-preview-max-r01 - 模型:MiniMax M3.1 Flash Preview;推理档位:max
- 类型:single-html;预览:static;网络:required
- 完整原始输入快照 · 主题与其他版本
- 输入记录:用户指令、覆盖范围确认与任务正文 v1 原文均已完整留存,无图片、附件或历史上下文。
- 工具:Claude Code(当前会话)。模型 MiniMax M3.1 Flash Preview,推理档位 max,单会话直接执行,未委派子代理。任务正文要求遇到缺漏先标示『待确认』再继续,页面的「待确认」面板按此保留(可用右下开关显示)。Three.js 走 CDN,需要联网。
- 运行方式:浏览器直接打开本目录入口;CDN/外部素材需要联网。
- 3D 场景入口
部署适配记录
- 性能:城市由上千个小构件组成,改为按材质合并几何体(自实现 mergeByMaterial),把 draw call 从数千级降到 10 个以内;窗与街灯用 InstancedMesh。
- 依赖:任务正文允许自行决定摄像机移动方式,这里未使用 examples/jsm 的 OrbitControls,而是自行实现拖拽转向 + WASD 位移 + 闲置自动回到巡航,避免额外 CDN 模块。
- 归档来源:F:\dev\ai-coding-demo-test(model-test-base 分支)中的 demos/neo-gothic-tower-city/runs/minimax-m3-1-flash-preview-max-r01;保留该测试轮号。
- 2026-10-12: 通过本地 HTTP 预览补拍代表性桌面截图 preview-2026-10-12.png;实验源码和原始输入未修改。
- 维护者于 2026-10-22 按 v3 对本轮桌面、手机及补充状态逐图重评并绑定 captures 证据;旧截图和 v2 评分见 catalog/score-reviews/2026-10-21-v3-source.json。未重跑模型或改写实验源码,截图不证明完整功能、算法、手势或性能。