一、什么是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 討論