ARFoundation系列讲解-01简介
一、什么是ARFoundation?
在ARFoundation诞生之前,如果我们需要开发一个多平台的AR应用,会使用 ARCore XR Plugin 开发一个Android设备版本,使用 ARKit XR Plugin 开发一个iOS设备版本。由于底层API的不同,这样我们就需要同时维护多份代码,这无疑增加了我们工作量和开发成本。因此Unity利用其跨平台的优势,开发了一个与平台无关的AR开发工具包,将 ARCore XR Plugin 、ARKit XR Plugin、Magic Leap XR Plugin、Windows XR Plugin 等AR开发工具包,进行了二次封装,统一API,只需要写一份代码就可以发布到多平台,它会根据我们发布的平台自主选择底层SDK。Unity将这个AR开发工具包命名为“ARFoundation”。
二、AR Foundation历史事件
- 2018年10月Unity发布AR Foundation 1.0版本,支持平面追踪、特征点云检测、参考点/锚点、设备追踪、光照估计、射线碰撞。
- 2019年5月,AR Foundation 2.1 支持图像追踪、物体追踪、面部追踪、环境探针。
- 2019年6月,AR Foundation 3.0 支持 ARKit 3.0,新增动作捕捉、人物遮挡、多人协作等功能。
- 2019年9月[MOU1] ,AR Foundation 支持 Magic Leap 以及 HoloLens 1 和 2 。
- 2019年11月,SenseAR正式集成进了Unity中国增强版2018.4.11C版本中。
三、专业术语
- 设备跟踪:跟踪设备在物理空间中的位置和方向。
- 平面检测:检测水平和垂直表面。
- 点云:世界坐标空间中的点的集合。
- 锚点:设备跟踪的任意位置和方向。
- 光线估算:估算物理空间中的平均色温和亮度。
- 环境探针:一种用于生成表示物理环境特定区域的立方体贴图的方法。
- 人脸跟踪:检测和跟踪人脸。
- 2D图像跟踪:检测和跟踪2D图像。
- 3D对象跟踪:检测3D对象。
- 网格划分:生成与物理空间相对应的三角形网格划分。
- 身体追踪:在物理空间中识别出的人类的2D和3D表示。
- 多人协作:在共享的AR体验中跟踪其他设备的位置和方向。
- 人体分割和遮挡:将距离现实世界中的对象的距离应用于渲染的3D内容,从而实现物理对象与虚拟对象的逼真的融合。
- 射线广播:查询物理环境中检测到的平面和特征点。
- 直通视频:优化了将移动摄像机图像渲染到触摸屏上作为AR内容的背景。
- 会话管理:启用或禁用AR功能时自动对平台级配置进行操作。
- 遮挡:在真实场景中的位置实现虚拟物体遮挡
四、不同平台支持的功能
支持功能 | ARCore | ARkit | Magic Leap | HoloLens |
设备追踪(Device tracking) | √ | √ | √ | √ |
平面检测(Plane tracking) | √ | √ | √ | |
点云(Point clouds) | √ | √ | ||
锚点(Anchors) | √ | √ | √ | √ |
光线估计(Light estimation) | √ | √ | ||
环境探头(Environment probes) | √ | √ | ||
人脸跟踪(Face tracking) | √ | √ | ||
2D图片跟踪(2D Image tracking) | √ | √ | √ | |
3D物体跟踪(3D Object tracking) | √ | |||
网格划分(Meshing) | √ | √ | √ | |
2D和3D人体跟踪(2D & 3D body tracking) | √ | |||
多人协作(Collaborative session) | √ | |||
人体分割和遮挡(Human segmentation) | √ | |||
射线广播(Raycast) | √ | √ | √ | |
Pass-through video(Pass-through video) | √ | √ | ||
会话管理(Session management) | √ | √ | √ | √ |
遮挡(Occlusion) | √ | √ |
推荐学习资
2.Unity官方API:学习一门技术,官方教程是最权威的
3.ARFoundation Samples :ARFoundation 示例地址
欢迎对AR技术感兴趣的朋友,加入QQ群:883655607 讨论