
GLB和GLTF 都是三维模型在网页、引擎和在线展示场景里常见的交付格式。它们的关系不是“谁替代谁”,而是同一套 glTF 2.0 规范的两种组织方式:GLTF更像一份可读的JSON说明书,GLB则把说明书和二进制资源打包成一个文件。
先说结论:GLTF负责描述,GLB负责打包
一个典型的 .gltf 文件本质上是JSON文本,里面记录场景、节点、网格、材质、贴图、动画和buffer引用。它经常会同时带着 .bin 文件和若干图片贴图。.glb 则是二进制容器,通常把JSON片段、bin数据和部分资源放进一个单文件里,传给别人或上传平台时更不容易漏资源。
GLTF目录里通常有哪些东西
实际拿到GLTF时,不要只看主文件。材质是否正常、模型是否完整,往往取决于同目录里的外部资源有没有一起保留。

| 文件或字段 | 作用 | 检查重点 |
|---|---|---|
| .gltf | JSON主文件,记录场景结构和资源引用 | 能直接打开查看字段,路径要和资源目录对应。 |
| .bin | 保存顶点、索引、动画等二进制数据 | 缺失后模型可能完全不显示或只显示空场景。 |
| png / jpg / webp | 贴图资源 | 丢失后常见表现是模型发白、粗糙度异常、透明面错误。 |
| materials / textures | 材质和纹理引用关系 | 要看PBR材质、法线贴图、透明度等是否被目标工具支持。 |
一个最小的glTF结构长什么样
介绍GLB/GLTF时,最有用的不是背定义,而是知道它大概怎样描述一个模型。下面这个片段能看出:场景指向节点,节点指向网格,网格再引用材质和几何属性。
glTF 2.0常见结构片段
{
"asset": { "version": "2.0", "generator": "exporter name" },
"scene": 0,
"scenes": [{ "nodes": [0] }],
"nodes": [{ "mesh": 0, "name": "ModelRoot" }],
"meshes": [{
"primitives": [{
"attributes": { "POSITION": 0, "NORMAL": 1, "TEXCOORD_0": 2 },
"indices": 3,
"material": 0
}]
}],
"materials": [{ "pbrMetallicRoughness": {} }]
}GLB和GLTF的区别
| 对比项 | GLTF | GLB |
|---|---|---|
| 可读性 | JSON文本可直接查看,适合排查结构 | 二进制文件,需要工具读取内部信息 |
| 资源管理 | 外部bin和贴图要一起保存 | 多数资源可打包成单文件 |
| 交付便利性 | 目录完整才稳,发文件时容易漏资源 | 单文件更适合上传、发送和归档 |
| 调试修改 | 替换贴图、检查路径更方便 | 修改前通常要先解包或用工具处理 |
| 常见使用 | 开发调试、资源整理、结构分析 | 网页展示、平台上传、客户预览、轻量交付 |
拿到文件后怎么判断它是否完整
真实项目里经常遇到这样的情况:GLTF主文件还在,但贴图目录被漏传;或者GLB能打开模型,却发现材质发白、透明面不对。判断文件是否完整,可以先用检查命令看场景、网格、材质、贴图和体积信息。
查看GLB/GLTF结构信息
gltf-transform inspect model.glb
# 重点看 scenes、meshes、materials、textures、animations 和文件体积
# 这个命令只检查结构,不会改动原始文件什么时候选GLB,什么时候保留GLTF
- 发给客户或上传平台:优先使用GLB,单文件更不容易丢贴图和bin。
- 开发调试或排查材质:保留GLTF目录,因为JSON和外部资源更容易检查。
- 后续还要编辑模型:不要只留GLB/GLTF,还要保存建模软件源文件或原始工程资料。
- 网页展示:GLB使用更普遍,但仍要注意文件体积、贴图尺寸和浏览器支持的扩展。
常见误区
GLB/GLTF不是建模软件的完整工程文件。它们适合传输和展示网格、PBR材质、贴图、骨骼动画等内容,但不一定保留建模软件里的修改器、历史记录、参数化建模信息或所有插件数据。另一个误区是只看后缀判断质量:真正决定可用性的,是内部结构、贴图资源、导出设置和目标软件的支持情况。
实际建议
如果只是做展示、传输和平台上传,GLB通常更省心;如果还要检查结构、替换贴图或分析导出问题,GLTF目录更适合。最稳妥的做法是:源文件用于继续编辑,GLTF用于调试和资源检查,GLB用于最终交付和展示。

常见问题
GLB和GLTF是不是两种完全不同的格式?
不是。它们属于同一套glTF 2.0格式体系,差别主要在资源组织方式:GLTF更像可读的JSON清单,GLB更像把清单和资源打进一个二进制包。
只保留GLB够不够?
如果只是展示和传输通常够用;如果后续还要修改材质、替换贴图或回到建模软件继续编辑,最好同时保留源文件和导出前的资源目录。

参考资料
下面这些公开资料用于核对概念和术语,正文已经重新整理为本站自己的说明和操作判断。