GLB 转 glTF

在你的设备上运行 · 你的文件从不离开你的设备。

GLB 和 glTF 是同一个格式换了身衣服:GLB 是一个封好的二进制文件,glTF 是可读的 JSON。把前者转成后者,模型就被打开了,你可以查看它的结构、核对它声明了哪些材质,或者手工改点什么。

这一步不会有任何损失。几何、材质、贴图和动画都会过来——这是重新打包,不是重新编码。二进制数据(包括贴图图片)以文本形式写进 .gltf,所以文件大约大三分之一;GLB 里的 Draco 或 meshopt 压缩原样保留。

全部在你自己的机器上完成,这一点对 3D 文件尤其重要:模型往往是客户的产品、建筑的扫描件或尚未公开的设计。没有任何东西发往服务器,因此事后也没有什么需要删除。

如何GLB 转 glTF

  1. 放入 GLB 文件。
  2. 确认已选中 glTF。
  3. 点「转换」。
  4. 下载 .gltf 文件。

支持的格式与限制

输入
GLB,包括 Draco 压缩的
输出
glTF(.gltf,可读的 JSON)
保留动画
是
保留贴图
是,内嵌在文件中
在哪里运行
在浏览器本地完成,不上传

不适用于: 生成带独立 .bin 和散落贴图文件的 .gltf——输出是一个自足的 .gltf。

哪些 GLB 文件能打开

用 Draco 或 meshopt 压缩的 GLB 能打开,所需的解码器由本站提供;带量化几何、贴图变换、WebP、AVIF 或 KTX2 图片、灯光,以及网格实例副本的文件也能打开。因为 GLB 是被拆开而不是重建,它的压缩和图片会原样进入 .gltf。

转换途中改变了什么

模型本身什么都不变。GLB 的 JSON 部分原样写出,二进制部分(存放几何、动画关键帧和贴图图片)成为 .gltf 里的一个缓冲区(buffer)。网格不会被拆分,JPEG 图片不会被再次压缩,每个场景都保留,本站不认识的扩展也原封不动地通过。结果是单个文件,没有 .bin,也没有需要放在一起的零散图片。

在 JSON 里找到方向

.gltf 用两个空格缩进,在任何文本编辑器里都很好读。材质、带位置、旋转和缩放的节点,以及动画列表,都是可以手工修改的普通 JSON。几何、动画关键帧和图片则不行:它们在一个缓冲区里,以 base64 文本的形式存在文件内部,比 GLB 里同样的字节多占约三分之一的空间。如果你编辑 JSON,请不要改动 accessors 和 bufferViews 里的数量和偏移,否则文件会和它的缓冲区对不上。要把编辑过的文件重新打包成 GLB,请用 /gltf-to-glb 。

常见问题

我的文件会上传到服务器吗?
不会。转换完全在你的浏览器里完成,用的是你自己设备的算力。文件不会离开你的电脑或手机;每个工具用过一次之后,断网也照样能用。
GLB 转 glTF 会有损失吗?
不会。它们是同一个格式的两种打包方式,几何、材质、贴图和动画都原样保留。
glTF 为什么大这么多?
因为二进制数据以文本形式内嵌,而文本每三个字节需要四个字符。模型没变,只是写法变了。

相关工具

3D 模型中的更多工具

本页的其他语言版本: English · العربية · Deutsch · Français · Español · Русский · Português · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা