官方文檔傳送門: https://developer.apple.com/documentation/arkit/understanding_augmented_reality
ARKit
在你的iOS應用程序或游戲中集成相機和運動特性產生增強現實體驗。
概述
增強現實(AR)從設備的攝像機中添加2D或3D元素到實時場景中,讓用戶感覺到這些元素看起來融合到了真實的世界中。ARkit結合裝置的運動跟蹤、相機的場景捕捉、先進的現場處理、合理的展示特性從而完成簡單快速構建一個AR體驗的任務。
重要提示
你的iOS設備必須是A9或A9以上的芯片才能支持AR(6s,iPad Pro 等)
如果你想在僅支持ARKit的設備上使用你的APP,可在你的應用程序中使用ARkit key 在你的info.plist中配置UIRequiredDeviceCapabilities。如果AR是你的應用程序的第二展示策略(兼容其他iOS機型),使用判斷設備是否支持屬性來確定當前設備是否支持要將要使用的AR會話。
理解增強現實
約定 : 本文中單獨提到的"世界"指AR世界(現實世界與虛擬世界融合的第三世界形態) 純個人理解,有不同見解的歡迎留言探討。
通過探索概念,特性,和最佳的實踐來構建偉大AR體驗。
-
概覽
官網示例圖
能夠創建和追蹤虛擬的模型世界與用戶現實的居住環境之間的對應關系,是對任何AR體驗的最基本特性的定義和要求。當應用程序展示的內容和相機的實時場景同步,用戶的體驗得到了增強。這種虛擬的幻境成為了真實世界的一部分就是你想要的世界形態。
-
世界追蹤如何運作
ARKit使用視覺慣性測距技術來創建一個現實和虛擬空間之間的對應關系。這個過程結合了從iOS設備的運動傳感硬件的感知和計算機通過攝像頭對場景的視覺分析。ARKit通過識別場景圖像的顯著特征,追蹤視頻在幀級別的特征差異的位置,把該信息與運動傳感數據比較。得到設備的位置和運動的高精度模型。
世界追蹤還使用命中測試方法(參見 ARHitTestResult 類)分析和理解場景的內容。找到與照相機圖像中與真實世界表面相對應的某個點。如果你允許使用平面檢測并且配置了會話,ARkit可以檢測在相機的圖像的平面并和報告他們的位置和尺寸。您可以使用碰撞測試結果或檢測到的平面來放置或交互場景中的虛擬內容。
-
最佳實踐和局限
世界追蹤不是一門絕對精確的科學,但是它通常能夠做出精準的計算,從而帶來印象深刻的AR體驗。然而,它依賴設備對自然環境的細節捕捉,但是這些環境不總是一致的或者很難實時測量。會有一定程度的誤差。想構建一個高質量的AR體驗,就不能忽略這些警告和提示
利用可預見的光照環境來構建AR 體驗。
世界追蹤涉及圖像分析,它要求圖片要清晰。當攝像頭捕捉不到細節,追蹤的效果就會降低。例如攝像頭指向的是一個空白的墻或者昏暗的環境。
用追蹤的質量數據來為用戶提供調節反饋。
世界追蹤和圖像的分析和設備的移動相關。當設備移動的時候ARKit對于場景有更好的分析,即使設備只是細微的移動。過度的移動 - 過遠、過快、抖動的行為會造成追蹤質量降低。ARCamera
類提供了追蹤狀態信息,你可以通過UI來提示用戶怎么避免低質量的追蹤場景
及時的允許平面檢測可以得出清晰的結果,你也可以禁用平面檢測來得到你想要的結果。
平面檢測的結果會隨時變化。當一個平面第一次被檢測的時候,它的位置和范圍可能是不準確的,原因是該平面停留的是一個過時的場景,ARKit會對它的位置和范圍從新估量。當場景中出現了較大的平面,ARKit會持續的改變平面的錨點位置、范圍、transform,直到你使用這個平面放置內容。(這一段還有待斟酌)
持續更新中
實戰篇
玩轉ARKit_01初體驗 http://www.lxweimin.com/p/ef180f75ba46