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 有什么区别

对比项GLBUSDZ
制定方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 设备上实际测试。简单的旋转动画通常没问题,但复杂的骨骼动画可能会丢失。