glTF JSON 转 glTF Binary 转换器

将 glTF JSON 资产转换为 glTF Binary 容器,可将独立的文本清单、二进制缓冲区和纹理打包到一个文件中,以实现更快的网页分发。

选择或拖放文件

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

格式比较与技术规格

规格GLTFGLB
MIME 类型model/gltf+jsonmodel/gltf-binary
类型runtime 3D asset transmissionself-contained binary 3D container
压缩lossless JSON manifest + external binary buffersbinary packaged JSON, buffers, and textures
标准规范Khronos glTF 2.0 SpecificationKhronos glTF 2.0 Binary Container
魔数文件头 (Magic Bytes)7B 22 61 73 73 65 74 22 ({"asset" JSON root)67 6C 54 46 02 00 00 00 (glTF version 2 binary container)

格式概述与应用

glTF JSON 格式使用纯文本结构存储 3D 场景。此文本文件指向外部二进制文件和图像纹理。虽然此设置有助于开发人员直接在代码编辑器中编辑材质和几何节点,但移动模型需要同时管理多个文件。如果丢失了一个纹理文件或文件路径损坏,3D 模型将无法在浏览器和游戏引擎中正确加载。 将 glTF JSON 转换为 glTF Binary 会将所有这些独立的部分捆绑到一个打包文件中。3D 艺术家和网页开发人员在将资产发布到生产网络服务器或将其加载到增强现实查看器之前,会使用此转换步骤。拥有单个文件减少了 HTTP 请求,这缩短了访问电子商务产品页面和交互式 3D 网页应用程序的用户的加载时间。

技术规格与编解码器解析

glTF JSON 格式使用 MIME 类型 model/gltf+json,依赖于基于文本的 JSON 清单以及外部 bin 文件和图像。相比之下,GLB 格式使用 MIME 类型 model/gltf-binary,并将所有内容打包到一个二进制容器中。GLB 文件以一个 12 字节的文件头开头,其中包含一个设置为 0x46546C67 的 4 字节幻数、一个 4 字节的版本号以及一个 4 字节的总文件长度。此文件头后面跟着存储 JSON 清单和二进制缓冲区数据的块。在转换过程中,这两种格式都不会改变底层的网格几何图形或纹理像素数据,这意味着该过程是严格无损的。

操作系统与浏览器兼容性

这两种格式使用 WebGL 和 WebGPU 渲染器在现代网页浏览器中原生运行,无需第三方插件。Windows 和 macOS 等桌面操作系统通过内置的文件预览工具支持 GLB 查看。包括 iOS 和 Android 在内的移动平台可直接在增强现实的 Quick Look 和 Scene Viewer 应用程序中渲染 GLB 文件。

💡 实用信息

在将原始纹理打包到 GLB 文件中之前,请将其保持为 PNG 或 JPEG 格式,以保持视觉保真度,同时又不会使容器大小过分膨胀。

格式比较与技术规格

一个分布在 glTF JSON 文件和多个外部纹理中的典型 15 MB 3D 资产,在标准 4G 连接下大约需要 3.0 秒下载完毕,在 5G 下需要 0.8 秒,在光纤网络下则仅需 0.2 秒。

常见问题

如何将 glTF JSON 转换为 glTF Binary 且不损失质量?

将 glTF JSON 转换为 GLB 是完全无损的,因为该过程只是将现有的文本清单、二进制缓冲区和图像文件重新打包到一个容器中,而不会改变顶点数据或进一步压缩纹理像素。

glTF JSON 与 glTF Binary 有何区别?

glTF JSON 使用引用外部 bin 和图像文件的人类可读文本文件,而 glTF Binary 将文本清单、几何数据和纹理打包到一个带有幻数文件头的自包含文件中。