GLB 转 OBJ

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

GLB 是一个封好的包裹——几何、材质和贴图都在一个二进制文件里。有些较老的软件根本打不开它。这里把它拆成 OBJ,一种能被多得多的软件读取的格式。

请预期 OBJ 会比它来源的 GLB 大得多。这不是错误:GLB 用紧凑的二进制存数字,往往还用 Draco 再压一层,而 OBJ 把每一个坐标都写成可读的文本。形状完全相同,只是写法变了。

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

如何GLB 转 OBJ

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

支持的格式与限制

输入
GLB
输出
OBJ
配套文件
无——GLB 自带贴图
保留动画
否——该格式无法存放
在哪里运行
在浏览器本地完成,不上传

不适用于: 保留动画——OBJ 没有存放动画的地方。若动画重要,请改转 glTF。

GLB 里会取出什么

GLB 的每个部件在 OBJ 里成为一个对象,沿用原来的名称,放在 GLB 中的位置,带着法线和 UV 坐标。UV 坐标会上下翻转,因为 glTF 从顶部开始数图片的行,OBJ 从底部开始。GLB 里三角面共用的角点仍然共用;通过实例化重复的部件,每一份副本都会单独写出。

GLB 带有颜色或贴图时,下载的是一个 zip,里面有 .obj、一个 .mtl 文件和贴图图片。图片按原有字节从 GLB 中取出,JPEG 仍是原来那个 JPEG。.mtl 记录每个材质的基础颜色、粗糙度、金属度、自发光和透明度,并写明它的颜色贴图、法线贴图和自发光贴图。按顶点存储的颜色写在每个点的坐标后面。没有颜色也没有图片的 GLB 只得到一个 .obj。

骨骼、混合形状和场景的其余部分

绑定了骨骼的角色按 GLB 里存储的静止姿态写出,而不是某段动画里的某一帧;混合形状不会应用,所以你得到的是基础形状。相机和灯光被略去。线和点云写成 OBJ 的线和点。用 Draco 或 meshopt 压缩的 GLB 会先解开,再写出完整的几何。

单位和长长的数字

GLB 按定义以米为单位,所以页面不提供单位选择:OBJ 里的数字同样是米,Y 轴朝上,和 GLB 一致。

GLB 把每个坐标存为 32 位数字,OBJ 则把每个数字都写出足够的位数,以便精确还原那个值。所以存成 0.1 的坐标会写成 0.10000000149011612。这些位数是 OBJ 大得多的主要原因之一,同时也说明转换途中没有做任何四舍五入。

常见问题

我的文件会上传到服务器吗?
不会。转换完全在你的浏览器里完成,用的是你自己设备的算力。文件不会离开你的电脑或手机;每个工具用过一次之后,断网也照样能用。
OBJ 为什么比 GLB 大这么多?
因为 OBJ 是纯文本而 GLB 是紧凑二进制,还常常带 Draco 压缩。同样的几何形状,文件大五到十倍是正常且意料之中的。
支持 Draco 压缩的 GLB 吗?
支持。解压器由本站自己提供,所以别人的 CDN 出问题时它照样能用,你也不必知道文件曾被压缩过。

相关工具

3D 模型中的更多工具

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