glTF二进制 (.glb)

ISO/IEC 标准

二进制 glTF (GLB) 是 glTF 2.0 标准的自包含单文件二进制打包格式,在基于网络的 3D 图形、增强现实 (AR) 和实时游戏引擎中被广泛誉为"3D 领域的 JPEG"。

将 GLTF 转换为 GLB

免费的浏览器端 GLTF 转 GLB 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 GLB 文件:

选择或将文件拖放到此处

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

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

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 GLB 文件:

十六进制签名 (偏移量 0):

67 6C 54 46

ASCII 表示形式: glTF

标准化: ISO/IEC 12113:2022 / Khronos Open Standard

技术规格

容器架构12-byte binary header ('glTF', version, length) followed by JSON chunk (CHUNK 0) and binary buffer chunk (CHUNK 1)
压缩方式DRACO mesh geometry compression, KHR_texture_basisu (KTX2/Basis Universal GPU textures), and ExtMeshopt
字节序Little-Endian (Intel x86 / WebGL standard)
色彩空间sRGB textures, Linear PBR roughness/metallic channels
通道与结构PBR materials (Metallic-Roughness), skinned skeletal meshes, morph targets, animations, cameras, and lights
最大尺寸Unbounded vertex and triangle count (supports multi-gigabyte models)
透明度Alpha coverage (MASK), alpha blending (BLEND), and volumetric transmission
流式传输与渐进式加载Single self-contained file with binary offset tables for direct GPU VBO loading

技术对比矩阵:GLB 对比同类产品

技术属性GLB (当前)GLTFUSDZFBX
打包模型单个自包含二进制文件JSON + 外部 .bin 和纹理文件USD 架构和纹理的 ZIP 存档专有 Autodesk 二进制/ASCII
网页与 AR 标准通用 WebGL 和 Android AR 标准通用 WebGL 标准(多文件)苹果 iOS Quick Look AR 标准桌面游戏引擎导入标准
材质模型标准化 glTF PBR 金属-粗糙度标准化 glTF PBR通用 Pixar PBR 材质架构专有 Phong/Lambert/PBR 着色器
GPU 读取性能即时(直接内存映射)快(多个网络请求)快(未压缩的 ZIP 条目)慢(需要复杂的解析)

常见损坏模式与十六进制恢复指南

3D 模型渲染时缺少纹理或显示为纯黑色表面。

根本原因: 嵌入的纹理块损坏或缺少 PBR 金属-粗糙度纹理引用。

恢复方法: 使用 File2File 3D Converter 或 glTF-Transform 检查并修复块偏移量。

安全分析与解析器攻击向量

GLB 解析器处理 JSON 文本块以及任意二进制缓冲区,如果缓冲区长度不匹配,可能会触发缓冲区溢出。

已知攻击向量

  • 当 bufferView byteOffset + byteLength 超过二进制块长度时发生缓冲区越界读取。
  • 在 WebGL drawElements 执行期间发生越界顶点索引读取。
  • 通过病态的 Draco 解压缩循环导致拒绝服务。

防御性最佳实践:

历史渊源与里程碑

2022glTF 2.0 和 GLB 被 ISO/IEC 国际标准化为 ISO/IEC 12113:2022。
2018谷歌采用 GLB 作为 Android Scene Viewer 和网页 <model-viewer> AR 体验的标准 3D 格式。
2015科纳斯组织 (Khronos Group) 推出 GLB,作为 glTF 生态系统的单文件二进制容器。

核心优势与特点

  • 完全自包含:将 3D 几何体、PBR 材质、纹理(PNG/JPEG/KTX2)和骨骼动画打包到一个文件中。
  • 直接上传 GPU:二进制几何缓冲区与 WebGL / Vulkan 内存布局匹配,零 CPU 解析开销。
  • WebGL、WebGPU、电商 3D 产品预览以及移动端增强现实无可争议的标准。

技术局限与劣势

  • 二进制特性使得如果没有专用的 3D 工具,很难进行手动文本检查或编辑。
  • 使用高级压缩扩展时,需要 Draco 或 Basis Universal 解压缩库。
  • 苹果平台倾向于将 USDZ 用于原生 iOS Quick Look AR,需要从 GLB 进行格式转换。

趣味技术冷知识

  • 每个 GLB 文件的前 4 个字节是 0x67 0x6C 0x54 0x46,其 ASCII 码拼写为"glTF"。
  • 在智能手机网页浏览器上查看 3D 运动鞋时,您几乎肯定在查看交互式 GLB 模型。
  • GLB 的设计专门允许图形硬件直接将顶点缓冲区从磁盘读入 VRAM,而无需任何转换。

常见技术问题

glTF 和 GLB 有什么区别?

glTF 是一个引用外部 .bin 几何图形和独立图像纹理文件的 JSON 文件。而 GLB 则将整个包打包成一个紧凑的二进制文件。

如何将 GLB 转换为 Apple AR 的 USDZ?

您可以直接在网页浏览器中使用 File2File.app,一键将 GLB 模型转换为 Apple 就绪的 USDZ 文件。

我可以在 Blender 中打开 GLB 文件吗?

可以。Blender 在软件内部内置了原生、高性能的 glTF/GLB 导入和导出功能。