[{"data":1,"prerenderedAt":227},["ShallowReactive",2],{"work-data-pipeline":3,"works-order":170},{"id":4,"title":5,"attribution":6,"body":7,"caseOrder":6,"cover":121,"demo":6,"description":44,"evidenceStatus":125,"extension":126,"family":127,"featured":128,"flagship":129,"highlights":130,"links":6,"media":6,"meta":134,"metrics":135,"navigation":128,"order":145,"path":146,"period":147,"projectType":148,"projects":149,"role":154,"roleScope":6,"seo":155,"stack":156,"status":6,"stem":165,"summary":166,"topic":167,"track":168,"__hash__":169},"works\u002Fworks\u002Fdata-pipeline.md","3DGS 与 Mesh 数据转换管线",null,{"type":8,"value":9,"toc":112},"minimark",[10,14,18,21,34,37,48,51,84,87,98,101],[11,12,13],"h2",{"id":13},"背景问题",[15,16,17],"p",{},"三维重建的输出体积大、格式各异：数 GB 的 PLY 无法整体装入内存，单体 OBJ 带有大量高分辨率碎纹理，直接加载会在浏览器中 OOM。查看器需要的是分块、分级、带碰撞数据的标准产物。",[11,19,20],{"id":20},"约束",[22,23,24,28,31],"ul",{},[25,26,27],"li",{},"管线运行在后端 Worker 上，需要支持多机部署与固定依赖版本。",[25,29,30],{},"输入规模远超内存，峰值内存必须与文件大小解耦。",[25,32,33],{},"产物要能被 PlayCanvas 查看器与 CesiumJS 直接使用。",[11,35,36],{"id":36},"架构",[38,39,45],"pre",{"className":40,"code":42,"language":43,"meta":44},[41],"language-text","公司数据加工链（后端 Worker CLI）\n\n[轴向校正 CLI]   PLY Z-up → Y-up（流式，4 GiB 级输入）\n        │\n        ▼\n[LOD 转换 CLI]   Morton 预排序 → 50% 逐级抽稀 → Streamed SOG（lod-meta.json）\n        │\n[碰撞生成 CLI]   分位裁剪 → 稀疏八叉树体素 → voxel.json \u002F .bin（或 GLB 碰撞网格）\n\n[OBJ→3D Tiles 管线]  八叉树分割 → LOD 简化 → 纹理重烘焙 → Draco 压缩 → 3D Tiles 1.1\n","text","",[46,47,42],"code",{"__ignoreMap":44},[11,49,50],{"id":50},"关键决策与取舍",[22,52,53,60,66,72,78],{},[25,54,55,59],{},[56,57,58],"strong",{},"流式而非整体加载","：轴向校正只解析 PLY 头，按块读取、旋转与写出；LOD 清洗使用 16 MB 缓冲零拷贝扫描，发现 NaN 或 Infinity 时写出剔除后的临时副本，原文件保持只读。",[25,61,62,65],{},[56,63,64],{},"分位裁剪替代正态近似","：室外场景的远景漂浮点会让正态近似误裁建筑边缘，并使包围盒膨胀。改为预过滤半透明噪点后直接取坐标的实际百分位边界。",[25,67,68,71],{},[56,69,70],{},"纹理重烘焙","：180 余张高分辨率纹理做图集会直接 OOM，且父级瓦片跨多个材质无法合并。每个瓦片按需加载源纹理，烘焙到自适应分辨率的单张图，用完即释放。",[25,73,74,77],{},[56,75,76],{},"以第三方标准工具为中枢","：瓦片集的组装与优化全部委托 3d-tiles-tools，不手写 JSON。",[25,79,80,83],{},[56,81,82],{},"原子写","：输出先写临时文件、刷盘后再重命名，中断只会留下可删除的临时文件。",[11,85,86],{"id":86},"结果",[22,88,89,92,95],{},[25,90,91],{},"4.1 GiB 输入的轴向校正峰值约 220 MB，与文件大小无关。",[25,93,94],{},"220 MB 量级的 OBJ 与 180 张纹理的测试集，产出 94 个含纹理瓦片，Draco 压缩率 81.6%，总体积 20.7 MB，低于 Cesium Ion 基准的 34.1 MB。",[25,96,97],{},"体积过大或过小的碰撞体会主动告警，避免静默产出无效数据。",[11,99,100],{"id":100},"我的职责",[22,102,103,106,109],{},[25,104,105],{},"管线整体架构与各阶段接口定义。",[25,107,108],{},"流式文件系统适配层、LOD 生成与碰撞体素化的实现。",[25,110,111],{},"OBJ→3D Tiles 管线 的八叉树分割、纹理重烘焙与瓦片装配。",{"title":44,"searchDepth":113,"depth":113,"links":114},2,[115,116,117,118,119,120],{"id":13,"depth":113,"text":13},{"id":20,"depth":113,"text":20},{"id":36,"depth":113,"text":36},{"id":50,"depth":113,"text":50},{"id":86,"depth":113,"text":86},{"id":100,"depth":113,"text":100},{"src":122,"alt":123,"caption":124},"\u002Fimages\u002Fportfolio\u002Fdata-pipeline-cover.svg","3DGS 与 Mesh 数据转换管线的四阶段 CLI 结构示意","数据加工链结构示意（非运行截图）","项目资料与交付记录","md","数据转换管线系",true,false,[131,132,133],"流式 Seekable 读取，PLY 只解析头部，高斯数据按块处理","纹理重烘焙替代纹理图集，每个瓦片只使用一个材质与一张纹理","所有 CLI 输出 JSONL 进度事件，退出码语义化，便于 Worker 解析",{},[136,139,142],{"value":137,"label":138},"4.1 GiB → ~220 MB","轴向校正流式处理的输入与峰值内存",{"value":140,"label":141},"34.1 MB → 20.7 MB","220 MB+ OBJ 产出 3D Tiles 体积（对比 Cesium Ion 基准）",{"value":143,"label":144},"16 MB","LOD 清洗阶段的恒定缓冲，双遍流式不随文件增大",6,"\u002Fworks\u002Fdata-pipeline","项目阶段记录","commercial",[150,151,152,153],"LOD 转换 CLI","碰撞生成 CLI","轴向校正 CLI","OBJ→3D Tiles 管线","管线架构与核心算法实现（流式读写、LOD、碰撞、3D Tiles 纹理重烘焙）",{"title":5,"description":44},[157,158,159,160,161,162,163,164],"Node.js 22","TypeScript","splat-transform 3.4","gltf-transform","Draco","xatlas","sharp","Worker Threads","works\u002Fdata-pipeline","一组部署在后端 Worker 上的数据加工 CLI，把重建产出的 PLY、OBJ 转换为各查看器可流式消费的标准产物，并以内存与体积指标验证效果。","spatial","company","l85n_mUyc4PHuX-6Ge8iGYqAD-UhvbtrPcH38cLwk4I",[171,175,178,182,186,190,191,195,199,203,207,211,215,219,223],{"path":172,"title":173,"order":174},"\u002Fworks\u002Fscene-toolchain","Scene 离线三维创作与发布工具链",1,{"path":176,"title":177,"order":113},"\u002Fworks\u002Fgaussian-training","高斯泼溅重建与训练管线",{"path":179,"title":180,"order":181},"\u002Fworks\u002Fmindcloudx-gen1","MindCloudX AI 一代 3DGS 平台",3,{"path":183,"title":184,"order":185},"\u002Fworks\u002Fexplorer-sdk","Explorer 多引擎渲染 SDK 与沉浸式浏览",4,{"path":187,"title":188,"order":189},"\u002Fworks\u002Ftorchcloud-gen2","TorchCloud 二代平台与混合场景编辑器",5,{"path":146,"title":5,"order":145},{"path":192,"title":193,"order":194},"\u002Fworks\u002Fmesh-pointcloud","大规模 Mesh 与点云可视化",7,{"path":196,"title":197,"order":198},"\u002Fworks\u002Fhunter-game","Hunter World：3DGS 真实场景多人寻宝竞速",8,{"path":200,"title":201,"order":202},"\u002Fworks\u002Fsitepulse-agent","智慧工地：空间可视化与 Agent 业务集成",9,{"path":204,"title":205,"order":206},"\u002Fworks\u002Fdrone-platform","无人机 GCS 与数据大屏交付",10,{"path":208,"title":209,"order":210},"\u002Fworks\u002Fcar-configurator","汽车 3D 配置器",11,{"path":212,"title":213,"order":214},"\u002Fworks\u002Fphotography-interaction","摄影器材 3D 交互展示页",12,{"path":216,"title":217,"order":218},"\u002Fworks\u002Fcloud-lims","Cloud LIMS 实验信息管理（Demo）",13,{"path":220,"title":221,"order":222},"\u002Fworks\u002Fcampus-platform","校园业务小程序与管理后台",14,{"path":224,"title":225,"order":226},"\u002Fworks\u002Fvisual-design","商业三维渲染与平面视觉设计",15,1792474477998]