OBJ 转 GLB

在你的设备上运行 · 你的文件从不离开你的设备。

OBJ 实际上是一小堆文件——网格、旁边的 .mtl,以及 .mtl 指名的那些贴图。GLB 则是把这一切装在一个文件里。这里替你完成打包,在你自己的设备上。

把 .mtl 和贴图与 .obj 一起放入,GLB 就会带上颜色和贴图,可以直接交给别人或放进网页(高光、光泽度这类设置无法换算,表面会是哑光的)。只放 .obj,你会得到正确的几何形状和一个朴素表面——有时这正是你要的,两种情况都会明白告诉你。

全部在你自己的机器上完成,这一点对 3D 文件尤其重要:模型往往是客户的产品、建筑的扫描件或尚未公开的设计。没有任何东西发往服务器,因此事后也没有什么需要删除。

如何OBJ 转 GLB

  1. 放入 OBJ 文件——有配套文件的话一起放入。
  2. 确认已选中 GLB。
  3. 点「转换」。
  4. 下载 GLB 文件。

支持的格式与限制

输入
OBJ
输出
GLB
配套文件
添加后会使用 MTL 和贴图图片
保留动画
不适用:OBJ 本身不存储动画
在哪里运行
在浏览器本地完成,不上传

不适用于: 添加 OBJ 中从未有过的材质——没有 .mtl 就没有颜色信息可带。

.mtl 和图片是怎样对上的

.mtl 的文件名不必和 OBJ 里 mtllib 行写的一致。你添加的任何 .mtl 都会被读取,其中的材质按 usemtl 名称对应到 OBJ 的各个部分。只使用一个 .mtl,即列表里的第一个,所以如果模型的材质分散在两个 .mtl 文件里,请先合并成一个。

贴图图片按文件名查找,不区分大小写,所以请添加 .mtl 里写到的那些图片。.mtl 写到了但你没添加的图片,不会去别处找,那个表面就没有贴图。也可以放入整个文件夹的 ZIP:它在这里解压(最多 60 个文件、400 MB),使用里面最大的模型,.mtl 和图片放在它旁边。

哪些 .mtl 设置能进入 GLB

.mtl 用漫反射、高光和光泽度描述表面,GLB 用金属度和粗糙度,所以有些设置能转换,有些不能。保留:漫反射颜色(Kd)及其贴图(map_Kd)、透明度(d 或 Tr)、自发光(Ke 和 map_Ke)和法线贴图(norm)。不保留:高光颜色和光泽度(Ks、Ns)、高光贴图(map_Ks)、凹凸贴图、透明度贴图(map_d)和置换(disp)。每个表面都写成完全粗糙、非金属,所以有光泽的材质看起来是哑光的,需要在打开 GLB 的地方再调整。OBJ 里按顶点存储的颜色(有些扫描仪会写入)会保留。

贴图图片在 GLB 里以 PNG 存储。对于照片类的 JPEG 贴图,GLB 通常会比你添加的那些文件更大。

让尺寸正确

OBJ 里只有不带单位的数字,而 GLB 把每个数字都当作米。所以添加模型后,页面会测量并显示它的尺寸,并让你选择文件里的一个单位代表什么:“保持原样”“一毫米”“一厘米”或“一英寸”。选好后,转换之前就能看到 GLB 的尺寸。一把量出来 45 米宽的椅子,几乎可以肯定是以厘米保存的。

非常大的 OBJ 文件

文件加起来超过约 120 MB 时,页面会提醒转换需要大量空闲内存,但仍会执行。OBJ 是文本,浏览器标签页无法一次读入远超 500 MB 的文本文件,所以更大的 OBJ 会被拒绝并说明这个原因,而不是给出一个空结果。请在模型原来的软件里把它拆成几部分,分别在这里转换;每一部分都会成为一个完整的 GLB。

常见问题

我的文件会上传到服务器吗?
不会。转换完全在你的浏览器里完成,用的是你自己设备的算力。文件不会离开你的电脑或手机;每个工具用过一次之后,断网也照样能用。
一定要添加 .mtl 文件吗?
只有需要颜色时才要。点「添加更多文件」,把 .mtl 以及它引用的 .jpg 或 .png 一起放入;它们会被打包进 GLB,之后就不会再丢。
GLB 和 glTF 一样吗?
格式相同,打包方式不同。GLB 是单个二进制文件;glTF 是可读的 JSON,数据在旁边的文件里。要发给别人,选 GLB。

相关工具

3D 模型中的更多工具

本页的其他语言版本: English · العربية · Deutsch · Français · Español · Русский · Português · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা