你在 Unity 或 Maya 里做好的 3D 模型,导出是 .fbx。但要把它放到网页里用 Three.js 展示,得用 .gltf 或 .glb。这两种格式有什么区别,怎么转?
速工具 的 FBX 转 GLTF 工具支持在线转换,不用装 Blender 或 Maya,上传 FBX 直接下载 GLTF/GLB。
FBX 和 GLTF 的核心区别
| 对比项 | FBX | GLTF/GLB |
|---|---|---|
| 开发者 | Autodesk(私有格式) | Khronos(开放标准) |
| 主要用途 | 游戏引擎、影视动画 | Web 3D、AR/VR、移动端 |
| 是否开源 | 否(但有官方 SDK) | 是(完全开放) |
| 文件结构 | 二进制,含骨骼、动画、材质 | JSON + 二进制数据(GLB 是单文件) |
| Web 支持 | 需要专门解析库 | Three.js / Babylon.js 原生支持 |
转换时要留意的问题
- 材质丢失:FBX 的材质系统(Autodesk 自己的)和 GLTF 的 PBR 材质不是一一对应的,转换后可能要重新调材质。
- 骨骼动画:FBX 支持复杂的骨骼动画,GLTF 也支持,但 IK(反向运动学)约束不会自动转,需要在 Blender 里先「烘焙」成关键帧。
- 缩放单位:FBX 用厘米,GLTF 用米,转换时注意单位,否则模型可能大 100 倍或缩小 100 倍。
- 贴图路径:FBX 里的贴图是外部文件引用,转 GLTF 时要确保贴图文件一起上传,或者先把贴图嵌进 FBX(有些导出选项支持)。
GLTF 和 GLB 选哪个
GLTF:多文件格式(.gltf JSON + .bin 几何数据 + 贴图文件),适合调试(你能直接打开 .gltf 看结构)。
GLB:单文件格式(所有数据打包进一个 .glb),适合部署(只管一个文件)。速工具 的转换工具两种都支持导出。
在线转换步骤
- 打开 FBX 转 GLTF 工具。
- 上传 .fbx 文件(如果贴图是外部文件,一起上传)。
- 选择导出格式(GLTF 多文件 / GLB 单文件)。
- 点击转换,等待处理完成(复杂模型可能需要几分钟)。
- 下载转换结果,用 3D 查看器 验证一下。
FAQ
转换后模型变暗了是怎么回事?
大概率是材质转换问题。FBX 的 Lambert/Blinn 材质和 GLTF 的 PBR 材质渲染方式不同,转换工具会尽量映射,但不可能 100% 一样。可以用 3D 查看器 打开后手动调一下环境光强度。
OBJ 和 FBX 哪个更好?
OBJ 只存几何和材质(没动画、没骨骼),文件小、格式简单;FBX 能存动画、骨骼、材质、摄像机,是「全功能」格式。如果模型不需要动画,OBJ 转 GLTF 比 FBX 转更顺利。