Skip to content

FBX 转 GLB 转换器 ​

将 FBX、OBJ、STL、PLY 或 Collada 模型转换为 GLB——所有 Web 引擎都能加载的单文件 glTF 二进制格式。动画会被保留,纹理会嵌入文件,下方选项还能修正常见的两个问题:模型尺寸大了上百倍,以及模型侧躺。无需上传任何内容,转换完全在浏览器中运行。转换和预览免费;下载转换后的 GLB 是标准版和专业版方案的一部分。

FBX、OBJ、STL、PLY、Collada

一种格式,所有网页引擎都能加载。

在浏览器里转换为 GLB,顺便修好两个最常出问题的地方:模型大了一百倍,以及模型躺着进来。

支持五种输入格式修正缩放与上轴不上传任何内容
FBXcharacter.fbx200 units tallZ-up, on its backtextures alongside
GLBcharacter.glb2 m tallY-up, standingone file, textures inside
准备好转换模型了吗?

为什么 Web 和游戏适合使用 GLB ​

FBX 是 Autodesk 的交换格式。Maya、3ds Max 和大多数素材商店提供的通常都是这种格式,但浏览器无法原生读取它。GLB 是 glTF 的二进制形式,由 Khronos Group 专门为通过网络交付成品 3D 内容而设计:一个文件内同时打包网格、材质、纹理和动画,可直接加载到 three.js、Babylon.js、PlayCanvas、Godot,以及 iOS 和 Android 的模型查看器中。

实际区别在于,GLB 放进网页就能直接使用。而 FBX 必须先经过转换器,这正是本页面的用途。

最容易出问题的两件事 ​

缩放。 来自 3ds Max 和 Maya 的 FBX 文件通常以厘米为创作单位,因此一个两米高的角色导出后会变成 200 个单位。把它放进以一个单位表示一米的 glTF 场景中,就会得到一个办公楼那么大的角色。当模型的边界框看起来异常时,本工具会发出提示,而 cm → m 预设会将尺寸除以 100。以英寸为单位的模型也会出现,主要来自 CAD,因此也提供了对应预设。

向上轴。 glTF 使用 Y 轴向上。3ds Max、Blender 的默认导出设置以及大多数 CAD 工具则使用 Z 轴向上。将 Z 轴向上的模型加载到 Y 轴向上的场景中,模型会仰面躺下。Z 轴向上选项会在转换时将其旋转一次,这比在游戏代码中添加旋转修正更好,因为后者需要你一直记住这个问题。

这两项修正都会应用在包装节点上,而不是烘焙到顶点中,因此蒙皮网格仍能正常工作。将缩放烘焙到已绑定骨骼的网格中会破坏其绑定姿势;如果不知道发生了什么,可能会白白困惑一整个下午。

纹理,以及为什么输出文件可能比输入文件更大 ​

glTF 导出默认将嵌入纹理写为 PNG。PNG 是无损格式,如果模型的纹理原本是 JPEG,生成的 GLB 就可能比 FBX 更大。默认开启的不透明纹理使用 JPEG选项,会将所有不需要透明度的纹理写为 JPEG,通常能让文件体积缩小数倍,而视觉上没有明显差异。透明材质上的纹理仍会保留为 PNG,因为 JPEG 没有 Alpha 通道。

如果模型附带了并不需要的 4K 纹理,在转换时将其限制为 1024 或 2048,是成本最低、效果最明显的减小体积方式。对于以正常距离观看的游戏模型,4K 纹理几乎从来不会带来实际效果。

转换之后 ​

模型会保留在展示区中,旁边提供完整的数据概览,让你在下载前了解文件中包含的内容。“游戏就绪”会检查游戏引擎关心的各项数据,并以按钮形式提供此处最重要的两项修正:缩放和向上轴。

其余操作也无需前往其他地方。优化功能会使用 Meshopt 压缩几何体并移除所有未使用的内容,值得在发布前执行。如果模型是没有骨架的角色,绑定功能可以为其添加骨架,并将 260 个免费动作重定向到角色上,所有操作都能在当前页面完成。

常见问题 ​

如何免费将 FBX 转换为 GLB? ​

将 .fbx 拖放到上方区域,如果模型看起来过大,请修正缩放,然后点击“导出模型”。加载和预览都在浏览器中运行,无需上传,也无需账户;下载 GLB 是标准版和专业版方案的一部分。

转换后会保留动画吗? ​

会。FBX 中的所有动画片段都会列出,并默认包含在输出文件中。如果只需要网格,可以关闭动画,从而减小文件体积。

我的纹理会一起转换吗? ​

如果纹理嵌入在 FBX 中,就会一起转换。如果 FBX 引用的是独立纹理文件(这种情况很常见),请在选择模型时同时选择这些图像文件,或者压缩整个文件夹并拖入 zip 文件。如果 FBX 使用外部纹理但未提供相应纹理文件,转换结果将是不带纹理的 GLB。人们所说的转换器“丢失”了材质,通常就是这种情况。

为什么我的 GLB 比 FBX 更大? ​

几乎总是因为 PNG。请开启“不透明纹理使用 JPEG”,如果模型包含 4K 贴图,还可以限制纹理尺寸。如果文件仍然很大,问题就在于几何体,可以使用优化器进行压缩。

可以将 OBJ 转换为 GLB 吗? ​

可以。请将 .obj 与其 .mtl 文件和纹理一起拖入,或者压缩整个文件夹。OBJ 会在文件内部指定其材质库,因此如果没有 .mtl,模型加载后将不带纹理。

我的模型会被上传到任何地方吗? ​

不会。所有操作都通过浏览器的文件 API 和 WebGL 完成。页面加载后可以离线使用,这也是没有发送任何数据的最直接证明。

反过来将 GLB 转换为 FBX 呢? ​

这里无法实现。FBX 是 Autodesk 的专有格式,没有开放的写入器,因此反向转换需要使用 Blender 或 FBX SDK。Blender 可以通过几次点击导入 GLB 并导出 FBX,而且完全免费。