GLB/GLTF 文件格式介绍
1. 前世今生(历史背景)
- 起源:GLTF(GL Transmission Format)由Khronos Group(OpenGL、Vulkan等标准的制定者)于2015年推出,旨在成为3D领域的JPEG,即一种高效、通用的3D数据交换格式。
- GLB:GLTF的二进制版本(
.glb
),将纹理、几何数据等打包成单一文件,便于传输和加载。 - 发展:
- 2017年:GLTF 2.0发布,支持PBR材质、骨骼动画等现代3D特性。
- 2020年后:被广泛用于Web3D、AR/VR、游戏引擎(如Unity、Unreal)等。
2. 核心特点
✅ 轻量化:相比FBX、OBJ等,GLTF文件更小,加载更快,适合Web和移动端。
✅ 基于JSON(GLTF)或二进制(GLB):
.gltf
:JSON格式,可读性强,但依赖外部资源(如贴图、bin文件)。.glb
:二进制打包,单文件,适合直接使用。
✅ 支持现代3D特性:- PBR材质(金属度/粗糙度工作流)。
- 骨骼动画、变形动画(Morph Targets)。
- LOD(细节层级)、压缩纹理(如KTX2/Basis Universal)。
✅ Web友好:原生支持JavaScript(Three.js、Babylon.js等),无需插件即可在浏览器中渲染。
3. 是否开源?
- 完全开源:GLTF是Khronos Group的开放标准,无专利限制,可自由使用。
- 工具生态丰富:
- 转换工具:
glTF-Pipeline
(官方优化工具)、Blender导出插件。 - 查看器:glTF Viewer、Windows 3D Viewer。
- 转换工具:
4. 应用领域
🚀 Web3D & 在线展示:
- 网页端3D模型展示(电商、博物馆数字藏品)。
- 基于Three.js/A-Frame的交互式应用。
🎮 游戏开发:
- Unity/Unreal Engine支持GLTF导入(需插件如
UnrealGLTF
)。 - 移动游戏(低性能设备友好)。
📱 AR/VR & 元宇宙:
- Facebook(Meta)、Snapchat等平台的AR内容。
- WebXR标准推荐格式。
🏗 BIM & 建筑可视化:
- 轻量化模型传输,如Cesium 3D Tiles(基于GLTF优化)。
5. 与FBX的对比
特性 | GLTF/GLB | FBX |
---|---|---|
格式类型 | JSON + 二进制(GLB) | 二进制/ASCII |
开源 | ✅ 是 | ❌ 否(Autodesk私有格式) |
Web支持 | ⭐️ 原生优秀 | 🚫 需转换或插件 |
动画支持 | 骨骼动画、变形动画 | 更复杂动画(如非线性编辑) |
材质系统 | PBR(现代渲染) | 依赖导出软件(可能丢失) |
文件大小 | 通常更小 | 较大 |
6. 注意事项
⚠️ 版本兼容性:GLTF 2.0是主流,旧版1.0已淘汰。
⚠️ 纹理压缩:使用KHR_texture_basisu
扩展可进一步减小文件。
⚠️ 工具链:Blender导出GLTF时需检查材质、动画是否正常转换。
总结
GLTF/GLB是未来3D内容的主流格式,尤其适合Web、移动端和开放平台。它的开源、轻量化、现代特性使其在元宇宙、AR/VR领域占据主导地位,而FBX更偏向传统DCC(数字内容创作)软件的内部交换。
如果需要将FBX转为GLTF,推荐使用Blender或Autodesk官方转换工具。