glTF转GLB转换器

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

选择或将文件拖放到此处

隐私保护 - 文件不会离开您的设备

或粘贴 Ctrl+V

等待文件时,可以玩一玩 Code Rain

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

格式比较与技术规格

规格GLTFGLB
MIME 类型model/gltf+jsonmodel/gltf-binary
类型运行时 3D 资产传输自包含二进制 3D 容器
压缩无损 JSON 清单 + 外部二进制缓冲区二进制打包的 JSON、缓冲区和纹理
标准规范Khronos glTF 2.0 规范Khronos glTF 2.0 二进制容器
魔数文件头 (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 格式使用 model/gltf+json MIME 类型,采用基于文本的 JSON 清单,并关联外部 bin 文件和图像。相比之下,GLB 格式使用 model/gltf-binary MIME 类型,将所有内容打包到一个二进制容器中。GLB 文件以 12 字节标头开头,其中包含一个值为 0x46546C67 的 4 字节魔数、一个 4 字节版本号和一个 4 字节总文件长度。标头后是存储 JSON 清单和二进制缓冲区的区块。转换过程中,这两种格式都不会改变底层网格几何数据或纹理像素数据,因此转换完全无损。

操作系统与浏览器兼容性

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

实用信息

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

常见问题

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

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

glTF JSON 与 glTF Binary 有何区别?

glTF JSON 使用引用外部 bin 文件和图像的人类可读文本文件;glTF Binary 则将文本清单、几何数据和纹理打包到一个带有魔数标头的独立文件中。