Highlight
Area mode 跳过 bounding box 检测步骤,直接用 startCapturing 即可进入户外区域扫描,配合 Mac 端 Quad Mesh 和 16K 纹理可产出影视级 3D 模型。
核心内容
Object Capture 之前的物体模式要求你围绕一个可移动的物体走一圈、设置 bounding box、再逐面拍摄。这对桌面上的花瓶很好用,但遇到户外地形、靠墙的浮雕、无法绕行的岩壁就力不从心——你根本没法走一圈,也没法把整面山坡翻过来扫底部。
Area mode 专为这类场景设计。它去掉了 bounding box 检测环节,将准星变成一把”刷子”:你在表面上方缓慢移动,系统自动连拍并重叠。拍摄完毕还可以用新增的 camera pose visualization 回查覆盖范围,确保在离开现场前拿到足够数据。模型直接在 iPhone 上生成,也可以导出到 Mac 做更高质量的处理。
在 Mac 端,今年新增了 Quad Mesh 输出和最高 16K 纹理。Quad Mesh 带有合理的 edge loop,方便在 Blender 等 DCC 工具中做 UV 编辑和骨骼绑定;16K 纹理则让大场景和 VFX 离线渲染的细节大幅提升。在统一内存充裕的 Mac 上,最多可处理 2000 张图片。此外,新的 Data Loading API 让你只需几行代码就能加载带深度、重力等元数据的 PhotogrammetrySample,并附加自定义 objectMask 来排除干扰前景。
详细内容
iOS 端:进入 Area Mode
去年的调用流程是 start -> startDetecting(设置 bounding box)-> startCapturing。Area mode 不需要新 API:直接跳过 startDetecting,调用 startCapturing 即可进入区域扫描 UI(03:41)。
同时建议用新增的 hideObjectReticle modifier 隐藏物体模式的准星框,让用户从一开始就明确处于区域模式(04:06)。
拍摄注意事项:
- 户外选择阴天或阴影处,避免硬阴影
- 沿规律路径缓慢移动,保证图片重叠
- 从不同高度拍多行,覆盖各角度
- 超过 6 英尺的区域建议在 Mac 上以高精度处理
- 支持 iPad Pro 2021、iPhone 12 Pro 及后续机型
Mac 端:Quad Mesh 与 16K 纹理
Mac 上的新 Sample App 提供可视化界面选择图片文件夹、设定输出类型。今年新增两种输出:
- Quad Mesh:四边形网格,带 artist-friendly edge loop,适合后续 UV 编辑、骨骼绑定和动画
- 16K 纹理:自定义 detail level 最高 16K,大场景和离线渲染受益明显(05:19)
在统一内存充裕的 Mac 上可处理最多 2000 张图片(05:37)。
Data Loading API:自定义 Mask 与 Pipeline
当拍摄背景不可控或有动态遮挡物(如手挡住被摄物),可以给每张图片附加 objectMask,告诉重建算法哪些像素是前景。今年的新 API 让加载过程从数百行简化到几行:
func loadSampleAndMask(file: URL) -> PhotogrammetrySample? {
do {
var sample = try PhotogrammetrySample(contentsOf: file)
sample.objectMask = try loadObjectMask(for: file)
return sample
} catch {
return nil
}
}
关键点:
PhotogrammetrySample(contentsOf:)是新的同步初始化器,从图片文件自动加载 RGB、深度图、重力向量等所有可用元数据(08:30)sample.objectMask属性接收自定义位图 mask,将干扰区域排除出重建- 失败时返回
nil,后续compactMap会自动跳过
func createCustomPhotogrammetrySession(for images: [URL]) -> PhotogrammetrySession {
let inputSequence = images.lazy.compactMap { file in
return loadSampleAndMask(file: file)
}
return PhotogrammetrySession(input: inputSequence)
}
关键点:
images.lazy确保不会一次性把所有图片载入内存,session 迭代时逐张加载(09:30)compactMap自动忽略加载失败的nil元素- 返回的
PhotogrammetrySession可直接用标准 request 处理重建
此外,Object Capture 拍摄的图片现在还包含 camera transform、intrinsics matrix 和校准数据,可用于自建后端重建管线或高级可视化(10:35)。
核心启发
-
做什么:户外场景 3D 采集 App。用 Area mode 让用户在徒步、旅行时直接用 iPhone 扫描岩石纹理、花园地形、墙面浮雕,一键生成可在 visionOS Quick Look 中查看的 3D 纪念品。为什么值得做:现有 3D 扫描 App 大多只支持物体模式,户外大场景是空白市场。怎么开始:基于 Apple 官方 Sample App,去掉
startDetecting调用,添加hideObjectReticle,接入区域模式。 -
做什么:电商/房地产 3D 展示管线。在 Mac 端用 Quad Mesh 输出 + 16K 纹理处理拍摄数据,产出可直接在 Blender 中编辑的高质量模型,用于产品展示或室内空间预览。为什么值得做:Quad Mesh 的 edge loop 让美术师能快速 UV 重整和绑定,16K 纹理让大场景细节不糊。怎么开始:在 Mac Sample App 中选择 Quad Mesh 输出类型,设置 detail level 为 16K,导出 USDZ 后在 Reality Composer Pro 中做最后调整。
-
做什么:自定义重建管线。利用 Data Loading API 加载带 camera transform 和 intrinsics 的 PhotogrammetrySample,构建自己的后端重建或 SLAM 管线,或开发拍摄质量可视化工具。为什么值得做:camera transform 和 intrinsics 以前无法直接获取,现在每帧都有,可以做拍摄覆盖热图、实时重定位等高级功能。怎么开始:用
PhotogrammetrySample(contentsOf:)加载图片,读取cameraTransform和intrinsicsMatrix属性,在 SwiftUI 中绘制 3D 相机位姿可视化。
关联 Session
- Optimize your 3D assets for spatial computing — 端到端的 3D 资产优化工作流,涵盖网格、材质和纹理的最佳实践
- Explore object tracking for visionOS — 将真实物体变成 visionOS 空间锚点,与 Object Capture 互补
- What’s new in Quick Look for visionOS — Area mode 产出的 USDZ 模型可在 Quick Look 中预览和交互
- Compose interactive 3D content in Reality Composer Pro — 在 Reality Composer Pro 中组合和编辑 Object Capture 产出的 3D 资产
评论
GitHub Issues · utterances