免费在线 · 无需注册 · 100% 本地

glTF 转 GLB 转换器

拖入 .gltf(+ .bin + 纹理) 文件,直接在浏览器中转换为 .glb。文件不会离开你的电脑。

⇪
将 glTF 文件拖到这里
支持 .gltf(+ .bin + 纹理) · 转换为 .glb

为什么要把 glTF 转换为 GLB?

.gltf 文件天生由多个部分组成——一个 JSON 头加上外部 .bin 缓冲区和纹理文件。缺少任何一个资源,整个模型就无法加载。GLB 把一切合并为一个二进制文件,因此适合发邮件、上传到 CDN 或放进 Git 仓库。

谁会做这种转换

打包资源用于部署的 Web 开发者、准备下载文件的 Sketchfab / Khronos glTF-Sample-Assets 发布者,以及任何被损坏的多文件 glTF 上传坑过的人。

常见问题

  • 转换时必须能访问外部缓冲区和纹理——拖入前先把它们放在同一文件夹,或先打包成 zip。
  • Draco 压缩的 glTF 在输出 GLB 中仍保持 Draco 压缩;目标引擎也需要支持 Draco。
  • KHR 核心之外的自定义 glTF 扩展会原样保留。如果目标要求严格,请用 Khronos glTF Validator 验证。

本工具的技术说明

通过 Three.js GLTFLoader 读取 .gltf 及同目录资源,再由二进制模式的 GLTFExporter 将场景连同缓冲区和纹理重新打包为单个 .glb。

glTF 与 GLB 有什么区别?

glTF.gltf(+ .bin + 纹理)

GLB 的 JSON 版孪生格式。规范相同,只是拆分为人类可读的 .gltf 加上外部 .bin 和纹理文件。

优点
  • 基于文本的场景清单——便于检查、diff 和微调
  • 支持 PBR 材质、蒙皮和动画
  • 实时 3D 分发的行业标准
局限
  • 多文件输出——只复制一个文件而漏掉其余文件,很容易损坏
  • 同一资产比 GLB 更大
典型用途:资产制作、需要检查场景 JSON 的流程
GLB.glb

二进制 glTF——3D 界的 JPEG。自包含、体积小,在 Web、AR 和所有现代 3D 引擎中都能原生加载。

优点
  • 所有内容(几何、纹理、材质、动画)打包在一个文件中
  • 小巧快速——专为流式传输和 Web 分发设计
  • Blender、Unity、Unreal、three.js、<model-viewer>、Android ARCore……都原生支持
  • PBR 材质(金属度-粗糙度)在任何地方渲染效果都一致
局限
  • 二进制——无法手动编辑
  • 在传统 CAD 流程中较少见
典型用途:Web 3D、AR/VR、实时引擎、电商产品展示

深入了解这两种格式

glTF 的由来

glTF 1.0 于 2015 年发布,是 Khronos 对“3D 界的 JPEG”这一需求的回应。2017 年的 2.0 规范整理了 PBR 材质模型,也是所有现代工具都支持的版本。拆分的 .gltf / .bin / 纹理布局是便于制作的形式;交付给最终用户时请使用 GLB。

注意事项
  • 移动 .gltf 而不带上 .bin 会悄无声息地破坏网格——请始终打包整个文件夹,或导出为 GLB 交付。
  • 如果重新整理文件夹,JSON 中的相对纹理路径就会失效;资产定稿后建议改用 GLB。
  • 扩展作者会添加新功能(KHR_materials_transmission、KHR_draco_mesh_compression),但并非所有加载器都支持——请在目标运行环境中测试。

实际用途:DCC 往返转换(Blender → glTF → Maya → glTF)、在构建时转换或优化 3D 资产的流程,以及以人类可读 JSON 为核心目的的资产来源记录。

GLB 的由来

glTF 2.0 于 2017 年由 Khronos Group 批准,并迅速成为 W3C 推荐的 Web 3D 格式。GLB 是“一个文件装下一切”的二进制封装——几何、纹理、动画和场景图全部放在单个 .glb 中。由于 <model-viewer>、Android Scene Viewer 和所有现代游戏引擎几乎同时加入支持,它的普及呈爆发式增长。

注意事项
  • PBR 材质模型假定纹理处于线性空间——DCC 工具导出的已烘焙 gamma 的颜色贴图,在 Web 查看器中会显得发白褪色。
  • 如果没有预加载解码器,Draco 网格压缩反而会拖慢加载;除非确实需要节省带宽,否则请关闭它。
  • Y 轴朝上还是 Z 轴朝上:glTF 严格采用右手系、Y 轴朝上。Blender、3ds Max 和大多数 CAD 导出在导入时需要翻转坐标轴,否则模型会侧躺。

实际用途:电商产品页(IKEA、Amazon、Shopify 3D)、Android AR 快速查看、基于 <model-viewer> 的文档、NFT 市场以及实时配置器。只要 3D 资产需要在浏览器标签页中无插件渲染,答案就是 GLB。

如何将 glTF 转换为 GLB

  1. 1
    拖入 .gltf 文件。如果 gltf 引用了外部 .bin 或纹理而加载失败,请尝试加载整个文件夹(多文件选择)。
  2. 2
    在 3D 中检查场景。PBR 材质、动画和蒙皮都应能正常渲染。
  3. 3
    点击“下载 GLB”。你会得到一个自包含文件,可直接用于 three.js、Unity、Unreal 或 AR。

常见问题解答

为什么要把 .gltf 打包成 .glb?

.gltf 很脆弱——它引用外部 .bin 和纹理文件,缺一个文件就全部失效。.glb 把所有内容打包进一个二进制文件:发邮件、嵌入或上传到 CDN 都更简单。

转换会丢失什么吗?

不会——GLB 是同一个 glTF 规范,只是以二进制打包。PBR 材质、动画、扩展等一切都会原样保留。

GLB 会更小吗?

通常会略小(省去 base-64 开销和 JSON 空白),但主要好处是操作上的简便,而不是体积。

转换后纹理丢失了

源 .gltf 很可能通过浏览器找不到的路径引用纹理。转换器只能看到你拖入的文件。如果 .gltf 使用外部纹理,请先把纹理嵌入 .gltf(大多数导出器都有 "embedded" 选项),或使用支持拖入文件夹的主 3D 查看器。

会上传任何内容吗?

不会。Three.js 的 GLTFLoader 和 GLTFExporter 在客户端完成全部处理。

相关转换器

STEP → GLBSTL → GLBOBJ → GLBFBX → GLB