阅读 463

WWDC21-AR系列主题(一)物体拍照建模

TL;DR

  1. 介绍苹果为开发者提供的物体拍照建模解决方案:Realitykit.Photogrammetry
  2. 基于 macOS 12.0 的命令行工具 HelloPhotogrammetry,以及手机采样应用 Capture Sample;
  3. 测试 3D 建模效果。

WWDC2021 增强现实系列主题,以 3D 物体建模开场:

截屏2021-06-10 下午10.23.58.png

回顾最近几年开发者大会,苹果在 AR 领域的布局逐渐形成由 ARKit、RealityKit 和 USDZ 共同组成的生态系统。ARKit 负责对真实场景的理解,目前已经升级到了 ARKit 5;RealityKit 负责虚拟内容的渲染,目前升级到了 RealityKit 2;USDZ 作为由皮克斯背书的 3D 资源格式,负责苹果 AR 布局中的内容生态。

此前苹果已经开发了自己的 3D 内容编辑工具 Reality Composer,以及能够将其它 3D 格式转换成 USDZ 的 Reality Converter (见前文《RealityKit 开发增强现实应用》),但是对于缺乏 3D 建模以及艺术创作能力的开发者来说,如何创作生动逼真的 3D 模型可能是妨碍他们开发 AR 应用的最大障碍。因此 WWDC2021 AR 系列主题开篇,苹果带来自己的 Photogrammetry 技术。

截屏2021-06-09 下午11.08.21.png

1. 关于 Photogrammetry

所谓 Photogrammetry,就是利用对真实物体进行多角度拍摄采样,从而生成该物体 3D 模型的技术。这一技术在业界也有非常成熟的解决方案,例如商用软件 Capturing Reality,以及开源软件 MeshRoom

截屏2021-06-10 下午10.46.05.png

RealityKit 2 增加了 Object Capture 模块(目前还处于 Beta 状态),提供了 PhotogrammetrySession 接口,开发者可以基于这一接口开发建模工具:

截屏2021-06-10 下午10.47.13.png

import RealityKit

let inputFolderUrl = URL(fileURLWithPath: "/tmp/MyInputImages/")
let url = URL(fileURLWithPath: "MyObject.usdz")
var request = PhotogrammetrySession.Request.modelFile(url: url, 
                                                      detail: .full)
guard let session = try PhotogrammetrySession(input: inputFolderUrl) else {
    return } 
复制代码

官方提供了基于该接口的命令行工具:

截屏2021-06-09 上午11.14.27.png

2. 测试建模效果

要测试拍照建模的效果,需要对建模物体进行全方位拍照采样,可以用手机、相机甚至是无人机,官方给出的建议是:

  1. 保持对焦
  2. 覆盖尽可能多的角度
  3. 可以翻转物体拍摄不同侧面
  4. 靠近物体
  5. 相邻采样的重叠率尽可能超过 70%
  6. 建议采样数量在 20-200 张图片

为了辅助手机进行采样,苹果提供了一个专门用于采样的 App:

截屏2021-06-10 下午11.15.15.png

手机拍照采样时会保存 RGB 图像的同时,尝试记录手机当前的角度(Gravity向量),在设备支持的情况下,还会记录图像的深度信息(Depth Data)。完成采样后,可以在手机文件中找到当前采样 Session 的所有文件:

截屏2021-06-10 下午11.18.39.png

将采样结果 AirDrop 到电脑上,就可以运行命令行工具进行建模了:

./HelloPhotogrammetry InputFolder output.usdz
复制代码

测试了一个简单的建模效果如下(采样21张,无深度图):

2021-06-10 23-27-59.2021-06-10 23_33_58.gif

如果你想要更加完整、精细的模型,可能需要在一个光照条件良好、背景深度分明且没有杂物的拍照环境下,同时采集RGB和深度信息;或者用单反相机,有更大的景深,也许同样能够得到更加精细的效果。不过我更期待的是如果可以用无人机的环绕模式,拍摄户外更大的模型(如建筑、雕像),看看能够得到什么样的效果!

3. 相关演讲主题

3D 物体建模只是 WWDC21 AR 系列主题的开胃菜,后续还有更多与 3D 内容生成相关的主题:

  • AR Quick Look, meet Object Capture
  • Creat 3D workflows with USD
文章分类
开发工具
文章标签