使用方法
- 拖入自包含
.glb;或把.gltf与其引用的全部.bin/贴图整套一起拖入(文件名保持不变,缺文件会点名报错) - 选择压缩档位:Draco(默认)/ Meshopt / 不压缩(普通 GLB,可去除已有压缩)
- 页内先预览模型并自动出校验报告
- 确认后点击「转换并下载」,按档位产出「原名-draco.glb / -meshopt.glb / -plain.glb」保存到浏览器下载
- 查看校验报告:通过/未通过、问题清单,可导出 JSON 或 Markdown;多个文件用下方「批量队列」一次处理(单次最多 10 个,逐文件失败隔离,成功多个打包 ZIP)
常见问题
能压多少?
取决于几何占比:网格为主的模型收益最大;纹理为主的模型收益有限——本工具不重编码纹理(纹理瘦身请用「GLB 无损优化」的纹理重编码选项)。转换后会显示压缩前后体积与降幅,以你自己的文件实测为准。
会伤画质吗?
Draco 与 Meshopt 都是有损几何压缩,但量化误差在典型模型上肉眼难辨;下载前可先在页内预览模型,转换后显示压缩前后体积与降幅,建议先在小文件上验证下游查看器兼容性。
Draco 还是 Meshopt?
Draco(KHR_draco_mesh_compression)几何压缩率通常最高;Meshopt(EXT_meshopt_compression)先量化并重排顶点再压缩 buffer view,体积与 Draco 相当且解码远快,但需要查看器支持该扩展。「不压缩」档输出普通 GLB,也可把已压缩(Draco/Meshopt)文件解压重写为普通 GLB。两种压缩产物的页内预览都会用内置解码器解回普通 GLB 展示。
下游都能打开吗?
Draco 档需要查看器支持 KHR_draco_mesh_compression 扩展:three.js、model-viewer、Babylon.js 与主流引擎均支持;Meshopt 档需要查看器支持 EXT_meshopt_compression;不确定时先用小文件验证,或选「不压缩」档/「GLB 无损优化」输出不依赖扩展的 GLB。
.gltf 怎么压?
把 .gltf 与它引用的全部 .bin/贴图文件在同一次拖入中整套选择(文件名保持不变):工具按文件名自动映射资源、装配为自包含 GLB 后再压缩;缺文件会响亮报错并点名缺失文件。引用 KHR_draco/basisu 压缩资源的 .gltf 不支持装配,请先转为自包含 .glb。
有文件大小上限吗?
单文件上限以拖拽区校验提示为准(匿名会话上限更低);超大模型受浏览器内存限制,建议先在小模型上验证流程。
压缩和优化有什么区别?
「GLB 压缩」做 Draco/Meshopt 几何压缩,体积最小,但产物需要查看器支持对应扩展;「GLB 无损优化」先做去重/焊接/重采样/清理,可选量化、简化与纹理重编码。可以先优化再压缩,也可以只用其一——纹理为主的模型建议先走无损优化的纹理重编码。
需要下载安装吗?
不用,全程在浏览器里完成;首次压缩会加载一次压缩引擎(自托管 Draco WASM / 内置 Meshopt 编码器),之后缓存。
模型会上传吗?
不会。模型在浏览器本地解码、压缩与校验,不经服务器;GLB 常含未发布的产品原型与设计资产,本工具按此场景设计。
功能说明
- 基于 @gltf-transform + draco3d + meshoptimizer(MIT,内置编码器)
- 三档压缩:Draco(KHR_draco_mesh_compression)/ Meshopt(EXT_meshopt_compression)/ 不压缩(普通 GLB),大幅减小几何体积,转换前可先在页内预览模型
- .gltf 成套输入:文件名→Blob URL 映射(GLTFLoader + LoadingManager.setURLModifier)自动解析 .bin/贴图引用
- 附 glTF/GLB 校验报告:通过/未通过、错误与警告清单,可导出 JSON 或 Markdown
- 不确定下游是否支持 Draco?先看 Khronos glTF 官方说明与示例资产;也可以改用「不压缩」档或「无损优化」输出不依赖扩展的 GLB
- 浏览器本地完成
隐私
GLB 常含未发布的产品原型与设计资产。本工具压缩全程在浏览器内完成,模型文件不经过服务器;仅首次使用会加载压缩引擎(自托管 Draco WASM / 内置 Meshopt 编码器)。