FBX 转 GLB

将 FBX 转换为 GLB,保留动画、材质和纹理。免费,在浏览器中运行,不上传任何文件。

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。

相关工具