官方文檔傳送門: https://developer.apple.com/documentation/arkit/understanding_augmented_reality
ARKit
在你的iOS應(yīng)用程序或游戲中集成相機(jī)和運動特性產(chǎn)生增強現(xiàn)實體驗。
概述
增強現(xiàn)實(AR)從設(shè)備的攝像機(jī)中添加2D或3D元素到實時場景中,讓用戶感覺到這些元素看起來融合到了真實的世界中。ARkit結(jié)合裝置的運動跟蹤、相機(jī)的場景捕捉、先進(jìn)的現(xiàn)場處理、合理的展示特性從而完成簡單快速構(gòu)建一個AR體驗的任務(wù)。
重要提示
你的iOS設(shè)備必須是A9或A9以上的芯片才能支持AR(6s,iPad Pro 等)
如果你想在僅支持ARKit的設(shè)備上使用你的APP,可在你的應(yīng)用程序中使用ARkit key 在你的info.plist中配置UIRequiredDeviceCapabilities。如果AR是你的應(yīng)用程序的第二展示策略(兼容其他iOS機(jī)型),使用判斷設(shè)備是否支持屬性來確定當(dāng)前設(shè)備是否支持要將要使用的AR會話。
理解增強現(xiàn)實
約定 : 本文中單獨提到的"世界"指AR世界(現(xiàn)實世界與虛擬世界融合的第三世界形態(tài)) 純個人理解,有不同見解的歡迎留言探討。
通過探索概念,特性,和最佳的實踐來構(gòu)建偉大AR體驗。
-
概覽
官網(wǎng)示例圖

能夠創(chuàng)建和追蹤虛擬的模型世界與用戶現(xiàn)實的居住環(huán)境之間的對應(yīng)關(guān)系,是對任何AR體驗的最基本特性的定義和要求。當(dāng)應(yīng)用程序展示的內(nèi)容和相機(jī)的實時場景同步,用戶的體驗得到了增強。這種虛擬的幻境成為了真實世界的一部分就是你想要的世界形態(tài)。
-
世界追蹤如何運作
ARKit使用視覺慣性測距技術(shù)來創(chuàng)建一個現(xiàn)實和虛擬空間之間的對應(yīng)關(guān)系。這個過程結(jié)合了從iOS設(shè)備的運動傳感硬件的感知和計算機(jī)通過攝像頭對場景的視覺分析。ARKit通過識別場景圖像的顯著特征,追蹤視頻在幀級別的特征差異的位置,把該信息與運動傳感數(shù)據(jù)比較。得到設(shè)備的位置和運動的高精度模型。
世界追蹤還使用命中測試方法(參見 ARHitTestResult 類)分析和理解場景的內(nèi)容。找到與照相機(jī)圖像中與真實世界表面相對應(yīng)的某個點。如果你允許使用平面檢測并且配置了會話,ARkit可以檢測在相機(jī)的圖像的平面并和報告他們的位置和尺寸。您可以使用碰撞測試結(jié)果或檢測到的平面來放置或交互場景中的虛擬內(nèi)容。
-
最佳實踐和局限
世界追蹤不是一門絕對精確的科學(xué),但是它通常能夠做出精準(zhǔn)的計算,從而帶來印象深刻的AR體驗。然而,它依賴設(shè)備對自然環(huán)境的細(xì)節(jié)捕捉,但是這些環(huán)境不總是一致的或者很難實時測量。會有一定程度的誤差。想構(gòu)建一個高質(zhì)量的AR體驗,就不能忽略這些警告和提示
利用可預(yù)見的光照環(huán)境來構(gòu)建AR 體驗。
世界追蹤涉及圖像分析,它要求圖片要清晰。當(dāng)攝像頭捕捉不到細(xì)節(jié),追蹤的效果就會降低。例如攝像頭指向的是一個空白的墻或者昏暗的環(huán)境。
用追蹤的質(zhì)量數(shù)據(jù)來為用戶提供調(diào)節(jié)反饋。
世界追蹤和圖像的分析和設(shè)備的移動相關(guān)。當(dāng)設(shè)備移動的時候ARKit對于場景有更好的分析,即使設(shè)備只是細(xì)微的移動。過度的移動 - 過遠(yuǎn)、過快、抖動的行為會造成追蹤質(zhì)量降低。ARCamera
類提供了追蹤狀態(tài)信息,你可以通過UI來提示用戶怎么避免低質(zhì)量的追蹤場景
及時的允許平面檢測可以得出清晰的結(jié)果,你也可以禁用平面檢測來得到你想要的結(jié)果。
平面檢測的結(jié)果會隨時變化。當(dāng)一個平面第一次被檢測的時候,它的位置和范圍可能是不準(zhǔn)確的,原因是該平面停留的是一個過時的場景,ARKit會對它的位置和范圍從新估量。當(dāng)場景中出現(xiàn)了較大的平面,ARKit會持續(xù)的改變平面的錨點位置、范圍、transform,直到你使用這個平面放置內(nèi)容。(這一段還有待斟酌)
持續(xù)更新中
實戰(zhàn)篇
玩轉(zhuǎn)ARKit_01初體驗 http://www.itdecent.cn/p/ef180f75ba46