FBX 转 GLB
将 FBX 转换为 GLB,保留动画、材质和纹理。免费,在浏览器中运行,不上传任何文件。
将 FBX 文件拖放到这里
FBX 转 GLB:不装 Blender 也能转
FBX 是游戏引擎和三维软件之间最常用的交换格式。Unity、Unreal、Maya、3ds Max、C4D、Mixamo 和大多数模型素材站给你的都是 FBX。但网页不认 FBX:three.js、Babylon.js、<model-viewer>、Android 的 Scene Viewer 以及多数网页 3D 展示组件,读取的都是 glTF。GLB 是 glTF 的二进制形式,一个文件装下全部内容。
所以做 Web 3D、商品 3D 展示或网页小游戏时,FBX 转 GLB 往往是第一步。这个转换器在浏览器里读取 FBX,显示 3D 预览,然后写出包含网格、材质、纹理和动画的 GLB。文件只在你的电脑上读写,不会上传。
转换后保留哪些内容
FBX 角色或道具里的大部分内容,GLB 都能装下。差异主要出在材质的描述方式上。
- 网格和层级
- 保留。每个 FBX 网格对应一个 glTF 网格,节点变换不变。
- 骨骼动画
- 保留。FBX 中的每一段动画都会写入 GLB。转换器的预览不播放动画,可以在信息面板里核对动画数;要逐段播放,用 FBX 在线查看器。
- 变形目标(Blend Shape)
- 保留,连同对应的动画。
- 内嵌纹理
- 保留,打包进 GLB。
- 外部纹理
- 需要把图片文件和 .fbx 一起拖入才会保留。否则材质只剩颜色,没有贴图。
- 材质
- 转换为 glTF 的金属度/粗糙度 PBR 材质。FBX 的 Phong、Lambert 材质在 PBR 中没有完全对应的参数,高光和光泽度只能近似,外观会有些变化。
- 相机、灯光、自定义属性
- 不写入。glTF 只描述模型本身。
FBX 转 GLB 的步骤
1. 把 .fbx 拖到转换器上。如果纹理是单独的图片文件(素材站下载的模型常放在 textures 文件夹里),把模型和图片一起选中,一次拖入。
2. 检查预览。旋转查看纹理,在信息面板里核对动画数。预览里显示灰色或缺失的部分,GLB 里同样会缺,这时候补上图片文件最省事。
3. 点击转换,.glb 会直接下载,随后显示输出文件的大小。
FBX 和 glTF 都以 Y 轴向上,这一组转换不需要修正向上轴,页面上也没有这个选项。以 Z 轴向上保存的 FBX(部分 3ds Max 导出)在读取时就会被转正,GLB 里的模型同样是直立的。
提示版本不支持、纹理丢失等问题
FBX 转换出问题,多数原因在文件版本或单位,而不在转换本身。
转换前想先检查 FBX,可以用FBX 在线查看器。
- 提示 FBX 版本不支持
- 文件是 FBX 6.x 或更早的版本。只能读取 FBX 7.0 及以上版本。用 Autodesk 免费的 FBX Converter 另存为新版本,或在原软件中重新导出。Blender 只能导入 7.1 及以上版本,同样打不开旧文件。
- 模型大了 100 倍
- 很多 FBX 以厘米为单位,而 glTF 查看器默认按米理解。转换器不改数值,一个 180 厘米高的角色到 GLB 里就是 180 个单位高。在源软件里调整导出比例(如 Unity 的 FBX Scale Factor、Blender 的导出缩放),或在目标场景里缩小。
- 纹理是灰色或粉色
- 纹理是外部文件但没有一起拖入,或者 FBX 里记录的是别人电脑上的绝对路径。把图片文件和模型一起拖入即可,程序按文件名匹配。
- 角色看起来发亮、像塑料
- 这是 Phong 到 PBR 近似换算的结果。在目标引擎里调整金属度和粗糙度,或在 Blender 中把材质改成 PBR 后再导出。
- 动画丢失或变形错乱
- 绑定依赖约束、IK 或变形器,这些只有源软件能计算。在 Maya、3ds Max 或 Blender 里把动画烘焙到骨骼上,再重新导出 FBX。
转好的 GLB 怎么用
three.js 用 GLTFLoader 加载,Babylon.js 用 SceneLoader 加载。商品详情页最简单的做法是 <model-viewer src="model.glb">。如果还要在 iPhone 上用 AR 查看,需要再把 GLB 转成 USDZ,因为 iOS 的 AR Quick Look 不打开 GLB。
由 FBX 转出的 GLB 通常偏大,原因多是纹理用了 4K PNG。纹理在转换时会重新编码,超过 4096 像素的会缩小到 4096,此外不做专门的压缩。如果文件对网页来说太重,先缩小纹理再转换,或在转换后用 glTF 优化工具处理。
只要网格、不需要骨骼和纹理,可以改用FBX 转 OBJ。
常见问题
FBX 转 GLB 免费吗?
免费。无需注册,没有水印,也不限制转换次数。转换在浏览器中运行,唯一的限制是设备内存。
FBX 文件会被上传吗?
不会。文件在你自己的电脑上读取和转换,不会离开浏览器标签页。
FBX 转 GLB 会保留动画吗?
会。骨骼动画和变形目标动画都会写入 GLB,FBX 里有几段动画就写入几段。转换前可以在信息面板里核对动画数。
提示 FBX 版本不支持怎么办?
文件是 FBX 6.x 或更早的版本。这里只支持 FBX 7.0 及以上版本。在制作它的软件(Maya、3ds Max、MotionBuilder)中重新导出,或用 Autodesk FBX Converter 转成新版本后再试。
转出来的 GLB 在场景里特别大,是什么原因?
FBX 以厘米为单位,glTF 以米为单位。转换器不做缩放,数值原样保留,模型就大了 100 倍。在源软件里设置导出比例,或在场景中把模型缩放为 0.01。
Mixamo 或 Unity 导出的 FBX 能转 GLB 吗?
能,只要是 FBX 7.x。目前 Mixamo、Unity 和 Unreal 导出的都是这个版本。纹理是单独文件的话,和 .fbx 一起拖入。
GLB 和 glTF 应该选哪个?
绝大多数情况选 GLB:单个文件,纹理在里面,体积也比文本形式的 glTF 小。只有需要手动查看或编辑 JSON 时才选 glTF。