Highlight
macOS Monterey 的 Preview 和 Quick Look 内置了 Metal 加速的 Hydra Storm 渲染器,支持直接查看复杂 USD 场景、导出子资产、渲染动画到视频;同时 Maya 2022、Houdini、ZBrush 等 DCC 工具已原生集成 USD,让 3D 工作流从扫描实物到 AR 展示全程无需反复导入导出。
核心内容
3D 工作流的长期痛点
做 3D 内容的人都有过这种经历:模型在 Maya 里调好,要导出成 .obj 或 .fbx,再导入到另一个工具做材质或渲染。每一步导出都可能丢数据,材质映射错位,动画帧率不一致。更麻烦的是,这个过程通常是单向的——前期建模的人看不到最终场景里自己的模型长什么样,只能盲调。
传统格式如 .obj 只支持单个模型,材质支持有限,没有动画。.fbx 虽然功能多一些,但它是专有格式,不同版本兼容性差,而且不支持多人协作编辑同一场景。
USD 如何解决这些问题
USD(Universal Scene Description)是 Pixar 为其电影制作开发的场景描述格式。它从设计之初就考虑了三个核心需求:
协作编辑。USD 允许把场景拆成多个文件,每个文件负责场景的一部分——比如一个人负责灯光,一个人负责动画,一个人负责模型。这些文件通过引用(reference)或 payload 方式链接到主场景。每个人在自己的文件里工作,保存后主场景自动更新。(08:10)
非破坏性编辑。USD 采用”叠加层”(Layer Stack)概念。你可以在一个层里做修改,而不影响原始数据。如果改错了,关掉这个层就恢复原状。这让实验性调整变得安全。(09:11)
可扩展性。USD 原生支持百万级对象的场景。Pixar 的电影里一个镜头可能有数千万个几何体,USD 的架构就是为这种规模设计的。(02:36)
USDZ:为 AR 优化的单文件格式
Apple 和 Pixar 合作开发了 USDZ,它是 USD 的归档包格式。USDZ 把所有资源打包成单个文件,可以直接通过 iMessage、邮件或网页分享,在 iOS 的 AR Quick Look 中直接打开查看。(02:49)
Apple 提供了 Reality Converter 工具,可以把 .obj、Alembic 等格式转换成 USDZ。还有命令行工具支持批量处理资产。(03:11)
详细内容
Preview 和 Quick Look 的 USD 支持
macOS Monterey 的 Preview 应用新增了完整的 USD 查看能力。(05:37)
Hydra Storm 渲染器。Apple 在 Preview 中集成了 Metal 加速的 Hydra Storm 渲染器。Hydra 是 USD 的高性能渲染架构,Storm 是其中的实时渲染器。这意味着在 Mac 上打开 USD 文件看到的画面,和在其他平台用 Hydra Storm 渲染的结果是一致的。(05:23)
演示中展示了一个 Pixar《玩具总动员4》的古董商场场景,包含数万个独立对象、约 3400 万个三角形,Preview 可以实时渲染和导航。(05:57)
场景导航工具:
- 缩略图面板显示 USD 文件中定义的所有相机,点击即可切换到对应视角(06:22)
- 点击场景中的对象可以锁定相机跟随该对象(06:29)
- Outliner 面板列出场景中所有对象节点,支持按名称搜索(06:35)
- 找到感兴趣的对象后,可以将其保存为独立的 USD 文件(07:00)
导出功能:
- 将动画 USD 场景渲染为视频文件(07:13)
- 将当前视图渲染为带 Alpha 通道的图片(07:17)
- 对于 USDZ 文件,Preview 使用 RealityKit 渲染引擎,和 iOS 的 AR Quick Look 效果一致(07:21)
DCC 工具生态的 USD 集成
Maya 2022。Autodesk Maya 2022 首次原生无缝集成 USD。可以直接加载数 GB 的 USD 数据,在秒级完成。USD 数据直接集成到 Attribute Editor 和 Outliner 中,支持非破坏性编辑、变体(variants)和协作。(04:22)
Apple 还与 Autodesk 合作改进了 USD 导入导出功能,包括 Blendshape 支持,以及直接在 USDZ 文件中使用纹理。(04:44)
ZBrush。ZBrush 可以直接处理 USD 网格数据,将雕刻能力带入 USD 工作流。(04:07)
Houdini。SideFX Houdini 原生支持 USD,可以直接加载所有 USD 文件作为原生数据,使用其强大的程序化工具生成特效。(04:57)
Octane Render。OTOY 的 Octane 渲染器可以接入 Houdini 等 DCC 工具,利用 GPU 从 USD 文件直接渲染光谱正确的图像。(03:57)
Multiverse。J-Cube 的 Multiverse 将非破坏性 USD 编辑能力带到 Mac,支持多 DCC 工作流,使用 Metal Hydra Storm 渲染器。(03:43)
物理模拟支持
Apple、Nvidia 和 Pixar 联合开发了表示物理模拟属性的 USD schema。这个 schema 可以表示从实时 AR 物理到机器人学和电影的离线模拟所需的所有属性。(05:02)
完整工作流演示:从实物到虚拟
演示展示了一个完整的 USD 工作流,制作一盘虚拟煎饼:
- Object Capture:用 iPhone 拍摄真实煎饼的多角度照片,生成 3D 网格和表面材质(10:27)
- Maya 布局:在 Maya 2022 中创建 USD 文件结构,组装场景中的道具,设置相机动画(10:55)
- ZBrush 雕刻:将捕获的模型导入 ZBrush,补充底部缺失的几何,添加更多物理细节和表面材质改进(11:30)
- Houdini 特效:在 Houdini 中加载所有 USD 文件,使用流体模拟制作糖浆效果,添加虚拟灯光(12:10)
- 输出:
关键点:
- 整个流程中数据始终保持 USD 格式,没有导入导出步骤
- 每个工具编辑的是独立的 USD 文件,通过引用链接到主场景
- 任何修改都会自动反映到所有引用该文件的地方
- 最终输出可以是 AR、实时预览或离线渲染,数据源完全一致
核心启发
-
做什么:为电商 App 构建 3D 商品展示流程
- 为什么值得做:用 Object Capture 扫描实物商品,生成 USDZ 文件,用户可以直接在 AR 中查看商品尺寸和细节,降低退货率
- 怎么开始:使用
PhotogrammetrySessionAPI 从照片生成 USDZ,通过QLPreviewController在 App 中展示 AR 预览
-
做什么:创建可协作的 3D 资产编辑工作流
- 为什么值得做:USD 的层叠编辑让多人可以同时工作在不同层面(模型、材质、灯光),互不干扰,修改自动合并
- 怎么开始:将场景拆分为多个
.usd文件,使用SdfLayer和UsdReferences建立引用关系,每个团队成员编辑独立的层
-
做什么:在 macOS App 中集成 USD 预览功能
- 为什么值得做:Preview 已经内置了 Metal 加速的 Hydra Storm 渲染器,可以直接利用这个能力在自定义 App 中查看 USD 内容
- 怎么开始:Pixar 在 2021 年底通过 USD 开源项目提供了 Metal 加速的 Hydra Storm,可以集成到自己的应用中
-
做什么:构建从 3D 扫描到打印的工作流
- 为什么值得做:Object Capture 生成的 USD 模型可以直接在 Preview 中查看、导出子对象,再转换为 3D 打印格式
- 怎么开始:先用 Object Capture 获取模型,在 Preview 中检查并导出需要的部分,再使用 Reality Converter 或命令行工具转换格式
-
做什么:为设计团队搭建跨工具 3D 审查流程
- 为什么值得做:设计师用 Maya 建模、用 Houdini 做特效、用 ZBrush 雕刻,所有人都在同一个 USD 场景上工作,项目经理可以直接在 Preview 中查看最新版本
- 怎么开始:建立中心化的 USD 文件服务器,每个环节输出独立的 USD 层文件,主场景通过相对路径引用,Preview 打开主文件即可看到完整效果
关联 Session
- Capture and scan real-world objects with Object Capture — 学习如何使用 Object Capture 从照片创建 3D 模型
- Create 3D models for augmented reality — 为 AR 创建优化的 3D 模型
- What’s new in USD — USD 格式的新特性和改进
- Dive into RealityKit 2 — RealityKit 2 的新功能
评论
GitHub Issues · utterances