用途:为网页交付优化 3D 模型(.glb/.gltf),降低文件体积、压缩网格与纹理、生成 LOD。流程为评估→网格优化→纹理优化→压缩→验证,输出优化后的 .glb。
主要能力:用 npx gltf-transform inspect 评估面数、纹理尺寸、文件大小与 draw call;按顺序执行 dedup、flatten、join、weld、simplify、prune 网格处理;用 ktx2 将颜色/ORM 贴图压为 ETC1S、法线贴图用 UASTC;用 draco 或 quantize 压缩几何;提供按平台的文件大小、多边形与纹理尺寸预算参考,以及 LOD 链生成策略(LOD0 全量、LOD1 0.5、LOD2 0.25、LOD3 0.10)与 Three.js LOD 用法。可用 gltfpack 做一次性 meshopt 压缩,也可用 gltf-transform Node.js API 编程编排。
必要用法:安装 npm i @gltf-transform/cli 或 npm i -g gltfpack;加载 Draco 模型需 DRACOLoader 并 setDecoderPath,加载 KTX2 需 KTX2Loader 并 setTranscoderPath、detectSupport(renderer),meshopt 用 MeshoptDecoder。
限制与注意:Draco 与 meshopt 互斥,同一文件只能选一种;移动端颜色贴图用 ETC1S 而非 UASTC;简化低于原面数 10% 需视觉验证;优化有损,应保留原始模型;Blender 导出时关闭其 Draco,导出后再压缩;HDR 环境贴图不应做 KTX2 压缩。