目录
ARFOUNDATION 之路-概述 ............................................................................................................................................................................................................ 1
(一)、什么是 ARFOUNDATION ................................................................................................................................................................................................... 1
(二)、ARFOUNDATION 与 ARCORE、ARKIT 的关系 ....................................................................................................................................................... 2
(三)、ARFOUNDATION 支持的功能 .......................................................................................................................................................................................... 3
参考文献 ............................................................................................................................................................................................................................................................................... 5
ARFOUNDATION 之路-架构及术语 ............................................................................................................................................................................................... 5
(一)ARFOUNDATION 功能概述 ................................................................................................................................................................................................... 5
(二)ARFOUNDATION 架构体系 ................................................................................................................................................................................................... 6
(三)基本术语 ........................................................................................................................................................................................................................................... 7
参考文献......................................................................................................................................................................................................................................................................................9
ARFOUNDATION 之路-环境配置(IOS)之一 ............................................................................................................................................................................... 9
(一)插件导入 ........................................................................................................................................................................................................................................... 9
(二)设置开发环境 ............................................................................................................................................................................................................................... 12
(三)搭建基础框架 ............................................................................................................................................................................................................................... 15
ARFOUNDATION 之路-环境配置(IOS)之二 ............................................................................................................................................................................ 18
(一)APPCONTROLLER .................................................................................................................................................................................................................. 18
(二)生成并配置 XCODE 工程 ........................................................................................................................................................................................................ 21
(三)运行 HELLOWORLD ............................................................................................................................................................................................................... 24
ARFOUNDATION 之路-环境配置(ANDROID) ...................................................................................................................................................................... 26
(一)插件导入 ........................................................................................................................................................................................................................................ 27
(二)设置开发环境 ............................................................................................................................................................................................................................... 28
(三)搭建基础框架 ............................................................................................................................................................................................................................... 32
(四)APPCONTROLLER .................................................................................................................................................................................................................. 35
(五)运行 HELLOWORLD ............................................................................................................................................................................................................... 37
ARFOUNDATION 之路-ARSESSION & ARSESSIONORIGIN ...................................................................................................................................... 39
(一)ARSESSION ................................................................................................................................................................................................................................ 39
(二)ARSESSIONORIGIN ............................................................................................................................................................................................................... 41
参考文献 ............................................................................................................................................................................................................................................................................ 43
ARFOUNDATION 之路-可跟踪对象 ............................................................................................................................................................................................ 44
1
(一)可跟踪对象管理器 ...................................................................................................................................................................................................................... 45
(二)可跟踪对象事件........................................................................................................................................................................................................................... 46
(三)管理可跟踪对象........................................................................................................................................................................................................................... 47
参考文献 ............................................................................................................................................................................................................................................................................ 48
ARFOUNDATION 之路-RAYCASTING .................................................................................................................................................................................... 49
(一)射线检测概念 ............................................................................................................................................................................................................................... 49
(二)射线检测详解 ............................................................................................................................................................................................................................... 51
ARFOUNDATION 之路-平面管理 ................................................................................................................................................................................................ 53
(一)平面检测管理 ............................................................................................................................................................................................................................... 53
(二)可视化平面.................................................................................................................................................................................................................................... 54
(三)个性化可视平面........................................................................................................................................................................................................................... 55
参考代码 ............................................................................................................................................................................................................................................................................ 62
ARFOUNDATION 之路-平面管理之二 ....................................................................................................................................................................................... 62
(一)开启与关闭平面检测.................................................................................................................................................................................................................. 62
(二)显示与隐藏被检测平面 ............................................................................................................................................................................................................. 64
参考资料 ............................................................................................................................................................................................................................................................................ 67
ARFOUNDATION 之路-点云与参考点 ....................................................................................................................................................................................... 67
(一)点云 ................................................................................................................................................................................................................................................. 68
(二)参考点............................................................................................................................................................................................................................................. 70
ARFOUNDATION 之路-图像跟踪 ................................................................................................................................................................................................ 73
(一)图像跟踪基本操作 ...................................................................................................................................................................................................................... 73
(二)图像跟踪启用与禁用.................................................................................................................................................................................................................. 76
(三)多图像跟踪.................................................................................................................................................................................................................................... 78
ARFOUNDATION 之路-AR 子系统 ............................................................................................................................................................................................. 83
(一)AR 子系统的概念 ....................................................................................................................................................................................................................... 84
(二)AR 子系统使用 ............................................................................................................................................................................................................................ 85
(三)可跟踪子系统 ............................................................................................................................................................................................................................... 87
参考文献 ............................................................................................................................................................................................................................................................................ 87
ARFOUNDATION 之路-光照估计 ................................................................................................................................................................................................ 88
(一)光照一致性.................................................................................................................................................................................................................................... 88
(二)光照估计操作 ............................................................................................................................................................................................................................... 89
ARFOUNDATION 之路-ENVIRONMENT PROBE 之一 .................................................................................................................................................... 92
2
(一)CUBEMAP ................................................................................................................................................................................................................................... 93
(二)PBR 渲染....................................................................................................................................................................................................................................... 94
(三)REFLECTION PROBE ............................................................................................................................................................................................................. 96
(四)纹理采样过滤 ............................................................................................................................................................................................................................... 97
参考资料 ............................................................................................................................................................................................................................................................................ 99
ARFOUNDATION 之路-ENVIRONMENT PROBE 之二 .................................................................................................................................................... 99
(一)使用 ENVIRONMENT PROBE............................................................................................................................................................................................ 99
(二)AR ENVIRONMENT PROBE MANAGER ................................................................................................................................................................. 102
(三)性能优化 ..................................................................................................................................................................................................................................... 104
参考文献 ......................................................................................................................................................................................................................................................................... 104
ARFOUNDATION 之路-AR 阴影生成之一 ............................................................................................................................................................................ 105
(一) SHADOWMAP 技术原理 .................................................................................................................................................................................................. 106
(二)使用实时阴影 ............................................................................................................................................................................................................................ 107
(三)阴影参数详解 ............................................................................................................................................................................................................................ 113
ARFOUNDATION 之路-AR 阴影生成之二 ............................................................................................................................................................................ 115
(一)PROJECTORSHADOW ...................................................................................................................................................................................................... 116
(二)BLOBSHADOW ..................................................................................................................................................................................................................... 119
(三)参数详解 ..................................................................................................................................................................................................................................... 121
参考文献................................................................................................................................................................................................................................................... 122
ARFOUNDATION 之路-AR 阴影生成之三 ............................................................................................................................................................................ 122
(一)数学原理 ..................................................................................................................................................................................................................................... 122
(二)代码实现 ..................................................................................................................................................................................................................................... 124
参考文献 ......................................................................................................................................................................................................................................................................... 132
ARFOUNDATION 之路-AR 阴影生成之四 ............................................................................................................................................................................ 132
(一)预先制作阴影 ............................................................................................................................................................................................................................ 133
(二)一种精确放置物体的方法...................................................................................................................................................................................................... 135
ARFOUNDATION 之路-3D 物体识别之一 ............................................................................................................................................................................. 138
(一)获取参考物体空间特征信息 ................................................................................................................................................................................................. 139
(二)扫描获取物体空间特征信息的注意事项........................................................................................................................................................................... 143
参考文献 ......................................................................................................................................................................................................................................................................... 143
ARFOUNDATION 之路-3D 物体识别之二 ............................................................................................................................................................................. 143
(一) 术语 ............................................................................................................................................................................................................................................. 144
3
(二)AR TRACKED OBJECT MANAGER ............................................................................................................................................................................. 144
(三)3D 物体识别跟踪基本操作................................................................................................................................................................................................... 145
ARFOUNDATION 之路-3D 物体识别之三 ............................................................................................................................................................................. 147
(一)3D 物体跟踪启用与禁用 ....................................................................................................................................................................................................... 147
(二)多物体跟踪................................................................................................................................................................................................................................. 149
ARFOUNDATION 之路-人脸检测增强之一 ........................................................................................................................................................................... 152
(一)人脸检测概念 ............................................................................................................................................................................................................................ 152
(二)人脸检测技术基础 ................................................................................................................................................................................................................... 154
参考文献 ......................................................................................................................................................................................................................................................................... 156
ARFOUNDATION 之路-人脸检测增强之二 ........................................................................................................................................................................... 156
(一)人脸姿态 ..................................................................................................................................................................................................................................... 156
(二)人脸网格 ..................................................................................................................................................................................................................................... 159
ARFOUNDATION 之路-人脸检测增强之三 ........................................................................................................................................................................... 164
(一)人脸区域 ..................................................................................................................................................................................................................................... 165
(二)多人脸检测................................................................................................................................................................................................................................. 169
ARFOUNDATION 之路-视频播放 ............................................................................................................................................................................................. 172
(一)VIDEOPLAYER 组件 ............................................................................................................................................................................................................. 172
(二)实现视频播放 ............................................................................................................................................................................................................................ 175
4
ARFoundation 之路-概述
2019 年 06 月 11 日 18:41:19 yolon3000 阅读数 769 更多
分类专栏: ARFoundation
版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yolon3000/article/details/91445797
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。
(一)、什么是 ARFoundation
2017 年,Apple 公司与 Google 公司相继推出了各自的 AR 开发 SDK 工具包 ARKit 和 ARCore,分
别对应 iOS 平台与 Android 平台 AR 开发。ARKit 和 ARCore 推出后,极大的促进了 AR 在移动端的普
及发展,将 AR 从实验室带入到普通消费场景中。由于当前的移动手机操作系统主要由 iOS 与 Android
两大系统统治,ARKit 和 ARCore 分别服务于各自己的系统平台,这意味着软件产商要开发一套移动 AR
应用就必须使用 ARKit 开发一个 iOS 版本、使用 ARCore 开发一个 Android 版本,这无疑增加了开发时
间与成本。
ARCore 提供了 Android、Android NDK、Unity、Unreal 开发包,ARKit 官方只提供了 Xcode 开发
包,这也提高了利用其他工具进行开发的开发者学习成本。在这种情况下,Unity 构建了一个 AR 开发平
台,这就是 ARFoundation,这个平台架构于 ARKit 和 ARCore 之上,其目的就是利用 Unity 的跨平台
能力构建一种与平台无关的 AR 开发环境,换句话说,ARFoundation 对 ARKit 与 ARCore 进行了再次
封装,并按照用户的发布平台自动选择合适的底层 SDK 版本。
因此,ARFoundation 是 ARKit XR 插件(com.unity.xr.arkit)和 ARCore XR 插件
(com.unity.xr.arcore)的集合,虽然最终都使用 ARKit SDK 和 ARCore SDK,但因为 Unity 再次封装
的缘故,与专业平台(如 ARKit 插件和 ARCore SDK for Unity)相比,C#调用的 API 略有不同。
ARFoundation 的目标并不局限于 ARKit 与 ARCore,它的目标是建成一个统一、开放的 AR 开发平
台,因此,ARFoundation 极有可能在下步发展中纳入其他 AR SDK,进一步丰富 AR 开发环境。在进
一步的发展中,ARFoundation 不仅支持移动端 AR 设备,还会支持穿戴式 AR 设备开发。
从上面的描述我们也可以看出,ARFoundation 它并不提供 AR 的底层开发 API,这些与平台相关的
API 均由第三方如 ARKit 与 ARCore 提供,因此 ARFoundation 对某特定第三方功能的实现要比原生的
晚(ARFoundation 将某第三方 SDK 的特定功能集成需要时间)。
1
(二)、ARFoundation 与 ARCore、ARKit 的关系
ARFoundation 提供了一个独立于平台的脚本 API 和 MonoBehaviour,因此,开发者可以通过
ARFoundation 使用 ARCore 和 ARKit 共有的核心功能构建同时适用于 iOS 和 Android 两个平台的 AR
应用程序。换句话说,这可以让开发者只需开发一次应用,就可以部署到两个平台的设备上,不必做任
何改动。
如前所述,ARFoundation 实现实现某底层 SDK 的功能会比原生的晚,因此,如果我们要开发
ARFoundation 尚不支持的功能,可以单独使用对应的原生 SDK。目前,如果我们只面向 ARCore 进行
开发并希望获取完整的功能集,Google 为 Unity 开发提供了 ARCore SDK for Unity;如果只面向
ARKit 进行开发并希望获取完整的功能集,Unity 提供了适用于 Unity 开发的 ARKit 插件(Apple 并未
提供 Unity 的 ARKit SDK 开发插件,在 ARFoundation 发展起来以后,Unity 肯定不会再继续维护
ARKit 插件)。
ARFoundation 与 ARCore、ARKit 的关系如下图所示:
ARFoundation 与 ARCore、ARKit 的区别如下表如示:
SDK
简介描述
ARFoundation
AR Foundation 将 ARKit 和 ARCore 的底层 API 封装整合到一个统一、开入的框架中,并提供
2
SDK
简介描述
一些额外的实用功能,如 Session 生命周期管理,以及用于展示环境中已检测功能的
MonoBehaviour。
Google ARCore SDK
该 SDK 为 ARCore 支持的重要 AR 功能提供原生 API,并在 Unity 中向 Android 平台公开这些
for Unity
API,以方便开发者调用。
Unity ARKit
Plugin
该插件是 Unity 公司开发的 ARKit Unity 插件,用于在 Unity 中构建 ARKit 应用,它在
Unity 中公开了 C#语言的 ARKit Objective-C API,以便开发者调用,该插件还提供一些辅
助功能,可以利用兼容 iOS 设备的前置和后置摄像机。
(三)、ARFoundation 支持的功能
ARFoundation 与 ARCore、ARKit 都正处于快速发展中,ARCore 基本保持每两个月进行一次更新频
率,ARKit 也已经迭代到了 ARKit3.0,作为 ARKit 与 ARCore 上层的 ARFoundaion 也已经到了 v2.2
版。
但如前文所说,ARFoundation 功能的实现要比底层的原生 API 稍晚一些,下表展示了
ARFoundation,ARCore 和 ARKit 功能对比和开发路线图。
支持功能
AR Foundation
ARCore
ARkit
垂直平面检测
水平平面检测
特征点检测
光照估计
射线测试(Hit Testing,
对特征点与平面的射线碰
撞测试)
图像跟踪
3D 物体检测与跟踪
环境光探头(Environment
Probes)
√
√
√
√
√
√
√
√
√
√
√ +支持特征点姿态
√
√
√
√ +Color Correction √ + Color Temperature
√
√
-
-
√
√
√
√
3
支持功能
AR Foundation
ARCore
世界地图(World maps)
人脸跟踪(识别、姿态、
网格和形状混合)
云锚点(Cloud Anchors)
√
√
√
-
√
√
ARkit
√
√(iPhoneX 及更高型
号)
-
远程调试(Editor
Remoting)
模拟器(Editor
Simulation)
LWRP 支持(支持使用
ShaderGraph)
摄像机图像 API
人体动作捕捉(Motion
capture)
人形遮挡(People
occlusion)
多人脸检测
多人协作(Collaborative
session)
多图像识别
开发中
√-Instant Preview
√ -ARKit Remote
√
√
√
√
√
√
√
√
-
-
开发中
开发中
√
-
-
-
-
-
√
√(iPhoneX 及更高型
号)
√(iPhoneX 及更高型
号)
√ (iPhoneX 及更高型
号)
√ (iPhoneX 及更高型
号)
√(iPhoneX 及更高型
号)
AR 应用是计算密集型应用,对计算硬件要求较高,就算在应用中什么虚拟对象都不渲染,AR 也在对
环境、特征点跟踪进行实时解算。由于移动端硬件设备资源限制,一些高级 AR 应用只能在最新的处理
器(包括 CPU 和 GPU)上才能运行。同时得益于 Apple 强大的独立生态与软硬件整合能力,在 ARKit3
中推出了很多新功能,但由于 Android 系统碎片化严重,ARCore 预计要等到新版 Android 发布后才能
提供类似的功能。
4