已生成、配置、离线检查;未获得实际驾驶舱外观/切换/性能验收,issue35保持open。本轮只获准离线模型生成和检查,按项目规则未运行Web build、package scripts、server、browser debug或浏览器截图。Blender预览不等于实际GLB在驾驶舱中的渲染。
配置 统一指向单一 /gis/cad-bim/city-continuous-v5/tileset.json 空间LOD树:粗模按距离请求、远处退出,精模按镜头附近分支局部替换。树内30,172栋、3,022粗内容+3,023精内容;资产由既有 /gis/cad-bim 挂载提供。本轮未验证HTTP或页面。
回退:将tilesets数组恢复为旧far+七组roofed2记录即可;保留v3及新旧不可变产物,不删除或覆写现有服务资产。配置文件被git忽略,随部署应单独保存。正式驾驶舱入口统一为 http://127.0.0.1:8000/#/cockpit。
LOD0增加窗格密度、浅窗套/凸凹层次、通长楼层线和封闭入口。入口从座落floor_base起算,宽度不再按整条长立面比例膨胀;已用实际生成函数添加入口高度/宽度回归。
屋顶使用本地 D:/GIS/GIS/yuanlingPic3 z19 EPSG3857/TMS影像,ENU重投影裁片,最长边256px;north-up PNG → Blender bottom-up UV → glTF V翻转一次。采样映射与原图哈希可追溯。
影像仅支持屋顶位置/色彩/形态;立面、楼层与高度仍是估算,非照片立面贴图、测绘BIM或摄影测量重建。没有凭空添加阳台/坡屋脊。屋顶影像本身分辨率有限,有模糊和阴影;影像日期及再分发权利未确认。
| 项目 | 最终试点结果 |
|---|---|
| 建筑 / 内容GLB(不含空anchor) | 13 / 4 |
| LOD1三角 / 内容字节 | 2,438 / 59,272 |
| LOD0三角 / 内容字节 | 27,426 / 1,219,836 |
| 两级内容合计字节 | 1,279,108 |
| 单内容最大三角 / 顶点 | 15,814 / 31,466 |
| 硬预算 | 20,000三角 / 60,000顶点 / 1MiB嵌入raster / 512px单边 / 4MiB RGBA8含mip估算 |
| 实际最大单边 / 单瓦片RGBA8含mip估算 | 256px / 1,277,108 bytes |
| 最终GLB法线 | 29,864三角检查通过;0退化;最低dot 0.999984897 |
| 屋顶检查 | 10文件、65屋顶检查通过 |
| 屋顶映射 | 13/13图像哈希一致;171采样顶点 |
| 最大UV误差 | 0.00014688450895733451 |
| 最终嵌入屋顶影像合计 | 613,488 bytes |
证据:几何/预算、闭合屋顶、影像/UV/依赖闭包、离线作者模型预览。
按用户要求尝试了可复用资产实例化。当前Cesium支持EXT_mesh_gpu_instancing,但旧streaming cell已经按材质合并,严格候选转换虽产生4,473栋/25,076次实例放置,整体节点和primitive结构没有降低;0个cell同时满足字节更小与primitive不增加。因此正式配置保持city-continuous-v5,不把离线候选冒称FPS收益。完整记录见instancing-delivery.md。
连续树证据通过结构与资源检查:30,172栋、3,022粗内容+3,023精内容,单一REPLACE层级,最大内容片19,991三角/47,221顶点。v5保留粗/精内容各自的距离请求球,远处粗片可退出请求;同一局部精模未实际渲染前,运行层仍保留粗模覆盖。
本轮将Cesium默认SSE从64回调至96,并将统一树运行配置的最大距离/加载距离收紧为14km/7km;这是针对卡顿的保守回调,不宣称真实帧率已测得。近景房屋精度不再增加,仅移除房屋库外壳背后的重复实体墙;所有模型继续按外部建筑壳处理,不生成室内房间、楼板、吊顶或室内物件。
离线结构诊断:coarse-structure-diagnosis.json确认v5粗内容为3,022片/约45.35MB压缩载荷,而历史低开销far为74片;Cesium支持EXT_mesh_gpu_instancing,但只适用于真正共享网格/材质,不能把已合并的74个粗GLB自动变成实例。13栋实例化粗模候选输出3片、1,049实例、109,288 bytes,并通过GLB扩展/变换结构检查;它只用于验证技术路径,未接入全城配置。
其他保留风险:结构验证未执行公开加载器的帧遍历、真实请求数、GPU/缓存和FPS;需获准后在正式入口实测。
http://127.0.0.1:8000/#/cockpit,两组观察点分别确认新模型确实加载。