FBX to glTF

FBX 转 glTF 在线转换

桌面内容管线的 FBX 要进浏览器。动画、蒙皮能带多少取决于这份 FBX 本身,不是网页能发明骨骼。

FBX 转 glTF 在线转换

进浏览器时

通常会留下

网格、PBR 基础材质、骨骼蒙皮动画、Blend Shape、节点层级、UV。

通常会丢掉

渲染器专用材质、约束与 IK(需先烘焙)、灯光、部分相机参数、自定义属性。

转之前

轴

Max Z-up 和 glTF Y-up。转换器按 FBX 文件头自动转,转完转一圈看倒没倒。

单位

FBX 单位乱时网页里模型芝麻或大楼。glTF 固定米,导出 FBX 时把场景单位设对。

嵌入贴图

贴图在外部时打 ZIP,否则粉模。嵌入的贴图会原样进 GLB,注意体积。

不要当 CAD 源

工程改尺寸回去找 STEP。FBX 和 glTF 里都只有三角网格。

FBX 到 glTF 之间的差别

FBX 是 Autodesk 的私有格式,为桌面 DCC 之间互传设计,什么都能装、什么都靠软件自己解释。glTF 是 Khronos 的开放标准,为运行时加载设计,规定得很死:Y 向上、单位米、PBR 材质、右手系。转换的本质是把 FBX 里"可能是任何东西"的内容映射到 glTF 的固定槽位。

映射得好的:网格、UV、顶点色、骨骼层级、蒙皮权重、关键帧动画、Blend Shape。这些两边概念一致。映射不到的:渲染器材质节点树、约束、IK 解算器、粒子、灯光参数。这些要在 DCC 里烘焙成 glTF 认的东西,或者接受丢失。

转完在查看器里播一遍动画、看一眼材质,再决定要不要压缩。多数 DCC 导出的 FBX 面数和贴图对网页都偏大,Draco + KTX2 一般能压到原来的 1/4。

FBX 版本与来源软件

来源建议导出设置常见问题
3ds MaxFBX 2020 二进制,Y-up,嵌入媒体Z-up 未转、V-Ray 材质为空
MayaFBX 2020 二进制,烘焙动画HumanIK 未烘焙无动画
BlenderFBX 二进制,Apply Scalings: FBX Units单位 0.01 缩放
Unity / Unreal 导出默认即可材质为引擎专有,需重赋
CAD 转来的 FBX直接转无动画属正常,节点即零件

接着看这些页