SupaVoxel
Wavefront 转二进制 glTF

OBJ 转 GLB 转换器

把 .obj 连同 .mtl 和贴图一起拖入,或上传一个 .zip,即可下载可在 three.js、model-viewer、Godot、Unity 和 Android AR 中加载的单个 GLB。导出前设置单位,模型就能以正确尺寸显示。全程在你的设备上运行。

  • 读取 .mtl 和贴图
  • 导出时修正单位
  • 无需上传
  • 免费,无需注册
更新于 2026年10月

如何将 OBJ 转换为 GLB

  1. 01

    连同文件一起打开 OBJ

    同时选中 .obj、对应的 .mtl 和贴图图片,一次拖入,或拖入一个 .zip。面板会在 Also read 下确认读取到的内容。读取文件时,四边形和多边形会被三角化,面板会在 网格 下显示包含多少个对象和组。
  2. 02

    设置单位

    OBJ 不记录单位。转换器默认按米(glTF 的惯例)处理。如果模型是为打印制作或在 ZBrush 中制作、单位为毫米,请把 文件单位 设为 mm;点击时 输出尺寸(以米为单位)会实时更新。
  3. 03

    导出 GLB

    点击 转换为 GLB。你会得到一个 .glb,几何体、法线、UV 和顶点色都打包在单个二进制文件中,同时显示转换前后的文件大小。

OBJ 材质与贴图:记得带上 .mtl

OBJ 很少单独出现。它的颜色存放在单独的 .mtl 文件中(由 OBJ 的 mtllib 行指定),贴图则是旁边的图片文件。把这些都交给转换器,GLB 会把它们打包进一个文件:Kd 颜色和 map_Kd 贴图会成为 GLB 的基础色。norm 贴图,或文件名带有法线贴图标记(_normal、_nrm、_nor、_n)的 map_Bump,会成为 GLB 的法线贴图。普通的灰度高度图不会被保留。支持读取 PNG、JPG 和 TGA 图片。

文件仅按名称匹配,因此指向 C:\Users\...\wood.png 或 textures/ 子文件夹的 .mtl 仍能找到 wood.png。如果只拖入 .obj,它仍可转换,但会显示为中性灰色,并有一条琥珀色提示列出未包含的文件。不支持拖入整个文件夹;请选中其中的文件或压缩成 zip。来自扫描、雕刻和打印网站的 OBJ 往往根本没有 .mtl,那就没有可添加的内容。

OBJ 转 GLB 转换会保留什么

OBJ 数据GLB 结果
v / f 几何体、四边形和多边形保留,并三角化
o 对象和 g 组保留为独立网格
vt 纹理坐标保留,供之后应用的贴图使用
vn 法线保留;缺失时计算平滑法线
顶点色(v x y z r g b)保留为 glTF 顶点色
.mtl 颜色和贴图图片提供时保留;未提供则为灰色

需要反过来转换?GLB 转 OBJ 会将 .obj、.mtl 和贴图打包为 zip 写出。

OBJ 与 GLB 对比

OBJ 自 20 世纪 90 年代初以来一直是安全通用的格式。GLB 是现代交付格式,专为快速加载而打造。

OBJ
纯文本,来自 Wavefront Technologies。包含几何体、UV 和法线;材质在单独的 .mtl 中
GLB
Khronos Group 的二进制 glTF 2.0。几何体、PBR 材质、贴图和动画都在一个文件中
大小
同一网格,文本 OBJ 通常比 GLB 大好几倍
单位
OBJ:无。GLB:米
动画
OBJ:无,仅静态网格。GLB:可绑定角色、形态键和关键帧动画片段
必须使用 GLB 的场景
three.js 和 Babylon.js 场景、<model-viewer>、Android Scene Viewer、Shopify 以及许多 3D 市场

发布 GLB 前的提示

推荐做法
  • 如果最终要放到网站上,可用 GLB 压缩器 缩小成品文件
  • 在查看器中检查比例:1.8 米高的角色应显示为约 1.8 米高
  • 如果 OBJ 有数百个组,先在 3D 软件中合并细小对象;每个组都会变成一个网格
  • 源文件看起来异常时,用 OBJ 查看器 检查 OBJ
避免做法
  • 忘记 .mtl 和图片;没有它们,GLB 会是灰色
  • 把毫米单位的 OBJ 留在默认的米上;结果会大 1,000 倍
  • 在手机上使用 200 万三角面的雕刻模型;用 网格简化器 减面
  • 手动把 .obj 重命名为 .glb;这两种格式并不通用

常见问题

常见问题

如何免费将 OBJ 转换为 GLB?

将 .obj 文件拖到顶部的转换器,如果单位不是米就设置文件单位,然后点击 Convert to GLB。完全免费、无需账户,转换完全在浏览器中进行,模型不会被上传。支持最大 200 MB 的文件。

为什么 OBJ 有颜色,转换后的 GLB 却是灰色?

颜色和贴图存放在 .mtl 文件及其图片中,而你只拖入了 .obj。请同时选中 .obj、.mtl 和贴图,或将它们压缩后拖入 .zip;模型下方的琥珀色提示会列出仍然缺失的文件。旧的 Phong 设置(如高光)无法精确映射到 glTF 的 PBR 材质,因此会有细微差异。

为什么我的模型在 three.js 中过大或过小?

OBJ 没有单位,而 GLB 以米定义。以毫米导出的模型(3D 打印文件常见)如果被当作米处理,就会大 1,000 倍。转换前将 File units 设为 mm 或 cm,并确认 Output size 与实际物体相符。

GLB 会保留独立对象吗?

会。OBJ 中的每个 o 对象和 g 组都会成为 GLB 中的独立网格,因此你仍可在引擎或 Blender 中隐藏、移动部件或为其指定材质。导出前,转换器会在 Meshes 下显示部件数量。

GLB 比 OBJ 更好吗?

就交付而言,是的:GLB 是二进制格式,体积更小、加载更快,可存储单位和 PBR 材质,并能将贴图嵌入单个文件。OBJ 仍是最广泛可读的编辑格式。许多人保留 OBJ 作为母版,交付 GLB。

我可以在 Unity、Godot 或 Unreal 中使用 GLB 吗?

Godot 原生导入 GLB。Unity 需要 glTF 导入器包(如 glTFast),Unreal 内置 glTF 导入器。三者都能正确获取比例,因为 GLB 以米定义,每个导入器都会据此转换为自己的单位。有关引擎特定的导入设置,请参阅 Unity 和 Godot 指南。

免费开始

还缺一个可转换的模型?

在工作室中从照片生成。无贴图模型通常不到一分钟即可完成,免费方案可直接下载为 GLB。

无需信用卡 · 赠送 3 个免费积分