GLB 是目前 Web 端用得最多的 3D 格式,Three.js、Babylon.js 都能直接加载。但如果你想让 iPhone 用户在 Safari 里点一下就能看到模型"站"在桌面上,那就必须把 GLB 转成 USDZ——这是苹果 AR Quick Look 唯一识别的格式。
AR Quick Look 怎么触发
其实触发方式很简单,在网页里加一个链接:
HTML 写法
<a href="model.usdz" rel="ar">在 AR 中查看</a>
iOS Safari 检测到这个链接是 .usdz 文件,会在页面右上角自动显示一个"AR"图标。用户点击后摄像头打开,模型就出现在真实场景里了。
不需要装任何 App,不需要写 Swift/ObjC 代码,一个 <a> 标签就搞定。
GLB 和 USDZ 有什么区别
| 对比项 | GLB | USDZ |
|---|---|---|
| 制定方 | Khronos Group(OpenGL 组织) | 苹果 + Pixar |
| 运行平台 | Web、Android、跨平台通用 | iOS / macOS 专属 |
| AR 支持 | 需要第三方 SDK(如 model-viewer) | 系统级支持(AR Quick Look) |
| 文件结构 | 二进制 glTF 单文件 | ZIP 包裹的 USD 场景描述文件 |
| 典型大小 | 较小(二进制紧凑) | 通常比同内容的 GLB 大一些 |
转换时要注意什么
GLB 通常使用 PBR 材质(金属度/粗糙度),USDZ 使用 UsdPreviewSurface。基础的颜色、金属度、粗糙度能正常转换过来,但自定义 Shader 效果大概率会丢失。建议转换后在真机上实际看一眼效果。
USDZ 文件一般比源 GLB 大,因为 USD 格式包含了更详细的场景元数据。如果原 GLB 已经超过 50MB,转换后的 USDZ 在移动端加载会比较慢。
什么场景需要把 GLB 转 USDZ
- 电商产品展示:家具、家电、摆件,让买家在下单前"放"到自己家里看看尺寸和风格是否合适。
- 教育类内容:机械零件结构、生物器官模型、历史文物,AR 展示比静态图片直观得多。
- 建筑/室内设计:把建筑或装修方案放到实际地块上预览效果。
用 GLB 转 USDZ 工具做转换的过程就是上传 GLB 文件,等几秒,下载 USDZ 文件。纯前端处理,不会把你的模型传到服务器上。
常见问题
转换后模型变小了正常吗?
正常。USDZ 格式使用 Zip 压缩,而且转换过程中可能会丢弃一些 GLB 特有但不被 USDZ 支持的扩展数据。如果模型外观没有变化,体积变小是好事。但如果发现材质丢失或动画消失,说明转换工具不支持这些特性。
Android 手机能打开 USDZ 吗?
原生不支持。USDZ 是 Apple 的格式,iOS 和 macOS 通过 Quick Look 直接预览。Android 上需要安装第三方 3D 查看器应用才能打开。如果需要跨平台展示,建议同时提供 GLB 和 USDZ 两个版本。
转换会丢失动画吗?
有可能。USDZ 支持骨骼动画和变形动画,但转换工具的兼容性参差不齐。如果原始 GLB 包含复杂动画,建议转换后在 iOS 设备上实际测试。简单的旋转动画通常没问题,但复杂的骨骼动画可能会丢失。