GLB 转 USDZ

将 GLB 转换为可在 iPhone 和 iPad 的 AR Quick Look 中打开的 USDZ。免费,在浏览器中完成,无需 Mac。

GLB 转 USDZ:让模型在 iPhone 上用 AR 查看

iPhone 和 iPad 自带的 AR Quick Look(AR 快速查看)只打开 USDZ 文件。在 Safari、信息、邮件或“文件”App 里点一下 USDZ,模型就会以 AR 形式出现在你面前的桌面上,不需要安装任何 App。网页和 Android 通用的 GLB 在这里打不开。想让 iPhone 用户看到同一个模型,就要把 GLB 转成 USDZ。

很多人以为这一步必须在 Mac 上用 Reality Converter 或 Xcode 完成。这个转换器在浏览器里就能做:拖入 GLB,在预览中检查,下载可以在 Quick Look 中打开的 USDZ。Windows 电脑也可以用,模型不会上传。

哪些内容会转换

glTF 和 USD 都使用基于物理的材质,外观能较好地保留。主要的损失是动画。

网格和层级
保留。
PBR 材质
转换为 USD 的预览表面材质(UsdPreviewSurface):基础色、金属度、粗糙度、法线、环境光遮蔽、自发光和不透明度,以及对应的纹理贴图。
纹理
嵌入 USDZ,输出仍是单个文件。纹理会重新编码,超过 2048 像素的会缩小。
动画
不导出。USDZ 是静态模型,按文件中存储的静止姿态保存,带骨骼的角色通常是 T 姿势。
glTF 高级材质
透射(玻璃)、光泽(sheen)、彩虹色(iridescence)等 glTF 扩展效果在输出中没有对应项,会退回基础材质。
压缩过的输入
Draco 和 Meshopt 压缩的 GLB 可以读取,输出为未压缩的数据。把 KTX2 纹理列为必需扩展的 GLB 无法读取。

GLB 转 USDZ 的步骤

1. 把 .glb 拖到转换器上。带有单独 .bin 和纹理文件的 glTF 也可以,把所有文件一起拖入。

2. 检查预览。这里看到的效果与 Quick Look 中的显示接近。

3. 点击转换,下载 .usdz。两种格式都以 Y 轴向上,模型朝向不变,不需要修正向上轴。

4. 实机测试:用隔空投送或信息把文件发到 iPhone 或 iPad 上,点开即可在 Quick Look 中查看,并可切换到 AR 视图。

把 USDZ 放到网页上

在 iOS 的 Safari 中,带 rel="ar" 的 USDZ 链接会直接进入 AR Quick Look,而不是下载文件。链接内必须包含一张图片,作为点击区域:

<a rel="ar" href="/models/chair.usdz"><img src="/images/chair.jpg" alt="椅子"></a>

如果页面已经用 <model-viewer> 展示 GLB,把转换后的文件填到 ios-src 属性里,iPhone 和 iPad 上的 AR 按钮就会使用它。

服务器需要以 MIME 类型 model/vnd.usdz+zip 返回文件。有些服务器不认识 .usdz 扩展名,会当作普通下载发送,Quick Look 就打不开。另外,rel="ar" 是 Safari 的功能,在微信等 App 的内置浏览器里可能无法直接进入 AR,遇到这种情况请用 Safari 打开页面。

AR 里显示不对时

Quick Look 按真实尺寸摆放模型,1 个单位就是 1 米,与 glTF 的约定相同。大多数意外都与此有关。

反过来要给 Android 和网页使用,请用USDZ 转 GLB。

模型像一栋楼那么大
GLB 以厘米为单位,常见于从 FBX 转来的模型。50 厘米的椅子存成 50 个单位,在 AR 里就有 50 米高。在 Blender 或源软件中缩放后重新导出 GLB,再进行转换。
模型非常小
GLB 以毫米或随意的小比例建模。用同样的方法反向调整。
纹理丢失
先看预览:预览中就没有纹理,说明 GLB 引用了没有一起拖入的文件,或使用了无法读取的 KTX2 纹理。用 PNG 或 JPEG 纹理重新导出 GLB。
模型不会动
动画不会导出,USDZ 按静止姿态保存,带骨骼的角色通常是 T 姿势。
玻璃变成了实心
透射效果不会保留。需要透明部件时,改用带不透明度的材质。

常见问题

GLB 怎么转 USDZ?

把 GLB 拖到转换器上,检查预览,然后点击转换并下载 USDZ。不需要 Mac、Xcode 或 Reality Converter,任何现代浏览器都可以。

没有 Mac,Windows 上能把 GLB 转成 USDZ 吗?

能。转换在浏览器中完成,与操作系统无关。Windows 电脑上转好后,把文件发到 iPhone 上测试即可。

转出来的 USDZ 能在 iPhone 的 AR 快速查看里打开吗?

能。输出文件按 Quick Look 的要求生成。发送到 iPhone 或 iPad 后点开,或在网页中用 rel="ar" 链接到它。

GLB 转 USDZ 会保留动画吗?

不会。这里不把动画导出到 USDZ,模型按文件中存储的静止姿态保存,带骨骼的角色通常是 T 姿势。材质和纹理会保留。

为什么模型在 AR 里特别大?

AR Quick Look 把 1 个单位当作 1 米。如果 GLB 以厘米建模,显示出来就大了 100 倍。转换器不做缩放,请在源文件中修正比例后重新转换。

转换时模型会被上传吗?

不会。GLB 的读取和 USDZ 的写出都在浏览器中完成,文件不会离开你的设备。

USDZ 能和 model-viewer 一起用吗?

能。model-viewer 的 src 指向 GLB,ios-src 指向 USDZ,iPhone 用户点同一个按钮就会进入 Quick Look 的 AR。

免费吗?

免费。不需要账号,没有水印,转换数量不限。

相关工具