UltKit

GLB转FBX在线转换

GLB是模型在网页上传输的常用格式,而许多游戏和动画制作流程导入的是FBX。在这里上传.glb文件,即可得到内嵌贴图的二进制FBX,可直接导入Unity、Unreal Engine或Maya。

3D 模型转换器

或将STL, OBJ, MTL … 文件拖放到此处 ·

单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除

输出

文件在我们的服务器上处理,并在 30 分钟后删除。

使用方法

  1. 1

    上传.glb文件

    添加 1 个或最多 20 个 GLB 文件,每个不超过 95 MB。如果 .gltf 带有单独的 .bin 和纹理文件,建议先打包成单个 GLB 再处理,会更省事。

  2. 2

    保持二进制FBX并嵌入贴图

    将转换为设为 FBX,文件编码设为 Binary,并开启保留纹理和材质,这样图片会打包进 FBX。除非模型导入后是躺着的,否则请让向上轴保持“保持”不变。

  3. 3

    转换并导入

    点击转换为 FBX,然后把文件拖进引擎的资源文件夹,或在 Blender 中选择“文件 › 导入 › FBX”。

GLB与FBX对比:开放的网页格式与Autodesk的交换格式

GLB 是 glTF 2.0 的二进制形式。glTF 2.0 由 Khronos Group 于 2017 年发布,并在 2022 年成为国际标准 ISO/IEC 12113。一个 .glb 文件包含 12 字节的头部、场景的 JSON 描述,以及存放几何数据和图片的二进制块。它为渲染器快速加载而设计:单位是米,Y 轴向上,材质遵循基于物理的金属度-粗糙度模型,three.js、Babylon.js 和 Android 的 Scene Viewer 渲染效果一致。

FBX 最初是 Kaydara 公司 FiLMBOX 动作捕捉软件的文件格式,2006 年起归 Autodesk 所有。它是专有格式,主要通过 Autodesk 的 FBX SDK 提供文档,但仍是游戏引擎和动画工具默认的交换格式。Unity 的模型导入器原生读取 FBX,Unreal Engine 的导入选项也围绕它构建,Maya 和 3ds Max 则用它在不同工作室之间传递带骨骼的角色。

GLB转FBX后哪些内容会保留

glTF 特性及其在 FBX 中的结果
在 GLB 中在 FBX 中导入后检查
网格、UV、法线原样保留无需检查
节点层级和名称保留轴心点位置
骨骼和蒙皮权重骨骼和蒙皮簇引擎中的骨架类型
动画片段、变形目标动画 take、形状键片段名称和时长
基础颜色、法线、自发光贴图FBX 材质上的内嵌纹理纹理指定
金属度-粗糙度数值近似转换重新连接金属度和粗糙度贴图
清漆、透射等扩展FBX 中没有对应项在引擎中重建

将FBX导入Unity、Unreal Engine或Blender

Unity

  1. 01把 .fbx 拖到 Project 窗口的 Assets 文件夹中。
  2. 02对于角色,在 Rig 选项卡中选择 Humanoid 或 Generic。
  3. 03在 Materials 选项卡中使用 Extract Textures 来编辑贴图。

Unreal Engine

  1. 01在 Content Browser 中点击 Import,选择 .fbx。
  2. 02对于带骨骼的模型,勾选 Import Animations。
  3. 03如果大小相差 100 倍,请检查 Import Uniform Scale。

Blender

  1. 01使用“文件 › 导入 › FBX (.fbx)”。
  2. 02打开 Shading 工作区检查材质。
  3. 03如果骨骼方向不对,使用 Automatic Bone Orientation。

GLB 转 FBX 之后的大多数意外都出在材质上,而不是几何体。glTF 常把环境光遮蔽、粗糙度和金属度分别打包进同一张图片的红、绿、蓝通道。FBX 的传统材质模型没有对应这种打包纹理的插槽,所以引擎会把它作为一张额外图片导入,需要手动连接。GLB 中以 WebP 存储的纹理是另一个坑:很少有 FBX 导入器能读取 WebP,所以应使用 PNG 或 JPEG;WebP 转 JPG:何时转、为何转解释了其中的取舍。

如果目标是用于渲染器或 3D 打印的静态网格,而不是引擎,FBX 可能不是合适的目标;FBX 转 OBJ展示了普通网格格式会保留哪些内容。如果要用于 iPhone 上 Apple 的 AR Quick Look,请改用同一个 GLB 转成 GLB 转 USDZ。

GLB

glTF 二进制 (GLB)

GLB 是 glTF 2.0 的二进制形式,glTF 是 Khronos Group 于 2017 年发布的 3D 传输格式。它把几何体、PBR 材质、纹理和动画打包进一个为快速加载而设计的紧凑文件。GLB 广泛用于网页 3D、AR 查看器、Android Scene Viewer 和在线模型市场。一些较旧的桌面 3D 工具和 CAD 程序无法导入它。

压缩方式
–
透明度
–
动画
支持
发布年份
2017 · Khronos Group
GLB 转换器

FBX

Filmbox (FBX)

FBX 是 Kaydara 为其 Filmbox 软件创建的 3D 格式,自 2006 年起归 Autodesk 所有。它在一个文件中存储网格、材质、纹理、骨骼、蒙皮、摄像机、灯光和动画。它是 Unity、Unreal Engine、Maya、3ds Max 和 Blender 之间游戏资产的标准交换格式。该格式为专有格式,不同导出器和 SDK 版本的表现可能不同。

压缩方式
–
透明度
–
动画
支持
发布年份
Kaydara (now Autodesk)
FBX 转换器

人们把 GLB 转成 FBX,是为了把来自网页、素材市场或 3D 扫描应用的模型,导入以 Autodesk 格式为核心的 Unity、Unreal Engine、Maya 或 3ds Max 工作流。

GLB转FBX常见问题

GLB转换为FBX后,动画还能正常播放吗?

骨骼动画和形状键(变形目标)动画在两种格式中都有,所以 GLB 里的动画片段在 FBX 中同样有对应位置。导入后请在引擎的动画预览中逐个检查片段,尤其是 GLB 包含多个片段时,因为有些导入器会拆分或重命名它们。

转换后为什么材质在Unity里显得发灰或像塑料?

glTF 材质使用金属度和粗糙度数值,通常打包在同一张纹理里,而 FBX 材质是围绕漫反射和高光设计的。基础颜色贴图和法线贴图通常可以正常带过去;金属度和粗糙度可能需要在引擎的材质编辑器中重新连接。

在Blender中使用需要把GLB转成FBX吗?

只为打开的话不需要。Blender 从 2.80 版起就自带 glTF 2.0 导入器,通过“文件 › 导入 › glTF 2.0”可以直接读取 GLB。只有当流程中的下一个工具需要 FBX 时才需要转换。

应该选择二进制FBX还是ASCII FBX?

选 Binary。它体积更小、加载更快,Unity、Unreal 和 Maya 也都期望这种格式。Blender 的 FBX 导入器完全不能读取 ASCII FBX。只有当脚本或差异比较工具需要以文本方式读取文件时,才选 ASCII。

为什么FBX模型在Unreal中大了或小了100倍?

glTF 以米为单位,Unreal 以厘米为单位,而 FBX 带有单位缩放,由各个导入器自行解释。如果大小相差 100 倍,请调整导入时的统一缩放,或在转换前设置模型单位,然后用已知尺寸核对。