什么是 .usdz 和 .usd 文件?USD 3D 格式,以及如何在 Mac 上打开它
USD(Universal Scene Description)是 Pixar 推出的开放 3D 场景格式,USDZ 是它的打包形式,Apple 将其用于 iPhone、iPad 和 Vision Pro 上的 AR。场景可以存储为文本(.usda)、二进制(.usdc)或两者皆可(.usd),也可以由许多文件组成。Mac 对它的支持几乎胜过其他任何 3D 格式:在 macOS 27 上,预览可以打开、编辑并存储它。
概览
- 扩展名
- .usdz, .usd, .usda, .usdc
- 类型
- 3D 场景
- 创建者
- Pixar
- 始于
- 2016
- 标准
- 不是正式标准
- macOS 自身(不装应用)
- 能打开,也能显示预览
信息核对于 2026年11月4日
四个扩展名,一种格式
- .usda 是可读的文本,以
#usda 1.0这一行开头。 - .usdc 是名为 Crate 的二进制编码。它以字节
PXR-USDC开头,载入更快。 - .usd 两者都可以;程序在打开文件时会区分它们。
- .usdz 是一个未压缩的 ZIP,里面装着场景及其纹理。其中的文件按 64 字节对齐,以便直接从内存中读取,而且第一个文件必须是 USD 场景。
在 macOS 27 上,USD 工具随系统提供,位于 /usr/bin 中。usdcat 把二进制文件输出为文本,usdtree 显示场景的结构,usdzip 打包 USDZ,usdchecker 检查它。下面是一个从 Blender 导出为 .usdc 的圆柱的开头,由 usdcat 输出为文本:
#usda 1.0
(
defaultPrim = "root"
doc = "Blender v5.1.0"
metersPerUnit = 1
upAxis = "Z"
)下面是 usdtree 显示的它的场景。除了圆柱,还有灯光和一个相机:
/
`--root [def Xform]
|--Light [def Xform]
| `--Light [def SphereLight]
|--cylinder [def Xform]
| `--cylinder [def Mesh] (active = true)
|--Camera [def Xform]
| `--Camera [def Camera]
`--env_light [def DomeLight]由许多文件组成的场景
USD 可以用多个文件构建一个场景:图层、对其他文件的引用、变体、放在场景旁边的纹理。对于拥有成千上万个对象的工作室来说,这是优势;对于只拿到一个文件的人来说,这是陷阱。Apple 的预览指南明确建议不要把 USD 文件移出它们所在的文件夹。
当我用 usdzip 把我们的圆柱打包成 USDZ 时,usdchecker 拒绝了这个包。场景引用了一个纹理 textures/color_0C0C0C.exr,而它不在包里,因为我只打包了 .usdc。在把 USDZ 发给别人之前,先检查一遍:
usdchecker model.usdz如果要分享,USDZ 是正确的选择,因为它把一切都装在一个文件里。不过,它必须真的包含了一切。
单位:metersPerUnit 和朝上的轴
USD 把它的单位作为 metersPerUnit 写在场景头中:一个单位等于多少米。如果缺失,则按厘米(0.01)处理。场景头还说明哪个轴朝上,即 upAxis 为 Y 或 Z,而各个程序在这一点上并不一致。
上面那个 Blender 圆柱的场景头中写着 metersPerUnit = 1——米——但它在文件中的范围是从 −27 到 27。按照文件的说法,它是一个 54 米宽的圆柱。这些数字其实是毫米,而场景头说的却是另一回事。在 macOS 27 上,预览可以让你更改场景的单位和朝上的轴。
USD 包含什么
- 网格和其他几何,带对象层级和名称。
- 材质和纹理。USDZ 可以包含 PNG、JPEG、EXR 和 AVIF 图片。
- 灯光和相机,如上面的树所示。
- 动画。macOS 27 上的预览可以播放它。
USD 从何而来
Pixar 于 2012 年开始开发 USD,作为其早期场景系统的继任者,并于 2016 年 7 月将其开源。Apple 于 2018 年 6 月的 WWDC 上与 Pixar 一起推出了 USDZ,用于 iOS 12 中的 AR 快速查看。2023 年 8 月,Pixar、Adobe、Apple、Autodesk 和 NVIDIA 成立了 Alliance for OpenUSD,并于 2025 年 12 月发布了它的第一份规范性规范 OpenUSD Core Specification 1.0。该联盟称这是迈向 ISO 标准的第一步。
如何在 Mac、iPad、iPhone 和 Vision Pro 上打开 USD 和 USDZ
USD 是 Apple 完全支持的少数 3D 格式之一:
- 在 Mac 上,macOS 27 中的预览可以打开它。你可以移动和旋转零件,更改材质和灯光,在三种渲染器之间切换,并存储为 USD、USDA、USDC 或 USDZ。它会直接编辑单图层文件,其他文件则存储为副本。快速查看和访达自己就能显示 USD、USDA、USDC 和 USDZ(在 macOS 27.0.1 上核实过)。Apple 论坛上有一份报告说,在 macOS 26.2 上,有些 USDZ 文件在预览中渲染成黑色。
- 在 iPhone 和 iPad 上,从 iOS 12 起,AR 快速查看可以直接从“文件”、Safari 浏览器、“信息”、“邮件”或“备忘录”中打开 USDZ。
- 在 Vision Pro 上,快速查看会把它显示在你的空间中。
- Apple 的 Reality Composer Pro 用于创建 AR 场景。
Preview3D 可以在 Mac、iPad、iPhone 和 Vision Pro 上打开 USD、USDA、USDC 和 USDZ,带上文件中的材质和灯光。它补充了预览做不到的事:显示尺寸和三角形数量的模型信息、网格检查,以及转换为用于打印的格式。
把 USDZ 转换为 STL
预览只能把 3D 存储为 USD 格式。打印需要 STL、OBJ 或 PLY,而 Preview3D 可以在 Mac 上通过 文件 → 导出模型为…(⌥⌘E)转换为这些格式,不上传任何东西。材质、灯光和动画会被丢弃。之后请在切片软件中检查尺寸,因为 USD 可能以厘米、米或其他任何单位表示——而且场景头不一定与实际相符,正如上面的圆柱所示。
常见问题
.usda、.usdc 和 .usdz 有什么区别?
.usda 是文本,.usdc 是二进制,.usd 两者都可以。.usdz 是一个 ZIP 包,把场景及其纹理装在一个文件里。
我应该发送哪一种?
USDZ。它是一个文件,iPhone、iPad、Vision Pro 和 Mac 都能在不装其他应用的情况下打开它。
为什么我的 USD 在移动后丢了纹理?
USD 场景经常引用它所在文件夹中的文件。请移动整个文件夹,或者把场景打包成 USDZ 并用 usdchecker 检查。
我可以编辑 USDZ 吗?
按照规范,这个包是只读的:先解包,再编辑,然后重新打包。macOS 27 上的预览会直接编辑单图层场景,其他场景则存储为副本。
如何把 USDZ 转换为 STL?
在 Mac 上,用 Preview3D 的“文件 → 导出模型为…”,不必上传到任何地方。然后在切片软件中检查尺寸。
Android 能打开 USDZ 吗?
不能。在 Android 和网页上,用的是 GLB。
相关页面
- .gltf 和 .glb 文件——USDZ 在网页和 Android 上的对应格式
- .stl 文件——USDZ 要转换成的打印格式
- .fbx 文件——另一种用于整个场景的格式
资料来源
- OpenUSD:USD 简介 和 USDZ 规范
- OpenUSD:单位与 metersPerUnit
- NVIDIA Learn OpenUSD:USD 文件格式
- Library of Congress:USD 和 USDZ
- Linux Foundation:OpenUSD Core Specification 1.0
- Apple:预览中的 3D 文件、编辑 和 导出
- Apple:AR 快速查看
- Apple Developer Forums:macOS 26.2 上预览中的 USDZ
你有没有一个来自 iPhone 的 USDZ——比如一次扫描——却不知道怎么测量或打印它?请写信到 apps@xfanta.com,我来看看。
在 Preview3D 中打开
在 Mac、iPad、iPhone 和 Vision Pro 上打开 STEP、3MF、STL、G-code、BGCODE 等格式。一次购买,无需账户,无需联网。
App Store 上的 Preview3D