ARKit框架詳細解析(一)—— 基本概覽

版本記錄

版本號 時間
V1.0 2017.09.27

前言

蘋果最近新出的一個API就是ARKit,是在2017年6月6日,蘋果發布iOS11系統所新增框架,它能夠幫助我們以最簡單快捷的方式實現AR技術功能。接下來幾篇我們就詳細的對ARKit框架進行詳細的解析。

AR技術

在講ARKit之前,我們先了解一下AR技術。增強現實技術(Augmented Reality,簡稱 AR),是一種實時地計算攝影機影像的位置及角度并加上相應圖像、視頻、3D模型的技術,這種技術的目標是在屏幕上把虛擬世界套在現實世界并進行互動。

一個最簡單地AR場景實現所需要的技術以及步驟包含如下:

  • 多媒體捕捉現實圖像:如攝像頭。
  • 三維建模:3D立體模型。
  • 傳感器追蹤:主要追蹤現實世界動態物體的六軸變化,這六軸分別是X、Y、Z軸位移及旋轉。其中位移三軸決定物體的方位和大小,旋轉三周決定物體顯示的區域。
  • 坐標識別及轉換:3D模型顯示在現實圖像中不是單純的frame坐標點,而是一個三維的矩陣坐標。這基本上也是學習AR最難的部分,好在ARKit幫助我們大大簡化了這一過程。

除此之外,AR還可以與虛擬物體進行一些交互。


ARKit基本

ARKit是2017年6月6日,ios11測試版本發布時新增加的框架,可以幫助我們以最簡單的方式實現AR技術功能。ARKit提供了兩種AR技術:

  • 基于3D場景(sceneKit)實現的增強現實。
  • 基于2D場景(SpritKit)實現的增強現實。

一般主流都是基于3D實現AR技術,ARKit不僅支持3D游戲引擎sceneKit,還支持2D游戲引擎SpritKit。

需要注意的是:

  • 雖然ARKit框架中視圖對象繼承于UIView,但是由于目前ARKit框架本身只包含相機追蹤,不能直接加載物體模型,所以只能依賴于游戲引擎加載ARKit。
  • ARKit是ios11推出的框架,但并不是所有的ios11系統都可以使用,因此必須是A9及以上才能夠使用,iphone6s開始使用A9處理器,也就是說iphone6及其以上的機型就不能使用這個框架了。
  • 開發環境需求:
    • Xcode版本:Xcode9及以上
    • iOS系統:iOS11及以上
    • iOS設備:處理器A9及以上(6S機型及以上)
    • MacOS系統:10.12.4及以上(安裝Xcode9對Mac系統版本有要求)

ARKit框架

集成iOS設備攝像頭和運動功能,在您的應用程序或游戲中產生增強的現實體驗。

增強現實(AR)描述了將設備的相機中的2D或3D元素添加到實時視圖的用戶體驗,使得這些元素似乎居住在現實世界中。 ARKit結合了設備運動跟蹤,相機場景拍攝,高級場景處理和顯示便利,簡化了AR體驗的任務。

重要說明:ARKit需要具有A9或更高版本處理器的iOS設備。要使應用程序僅在支持ARKit的設備上可用,請在應用程序的Info.plistUIRequiredDeviceCapabilities部分中使用arkit鍵。 如果增強現實是應用程序的輔助功能,請使用isSupported屬性來確定當前設備是否支持您要使用的會話配置。

下面我們先看一下ARKit框架的結構和組成。

下面按照功能模塊對框架進行詳細分解和說明

1. First Steps

2. World-Based AR Experiences

3. Face-Based AR Experiences

  • ARFaceAnchor
    • 關于臉部跟蹤AR會話中檢測到的臉部的姿勢,拓撲和表情的信息。

4. Standard Views

  • ARSCNView

    • 用于顯示使用3D SceneKit內容增強相機視圖的AR體驗的視圖。
  • ARSKView

    • 用于顯示使用2D SpriteKit內容增強相機視圖的AR體驗的視圖。

5. Custom Views

6. Real-World Objects and Positions

  • ARHitTestResult

    • 通過檢查AR會話的設備攝像機視圖中的一個點找到有關現實世界表面的信息。
  • ARAnchor

    • 可用于將對象放置在AR場景中的現實世界的位置和方向。
  • ARTrackable

    • ARKit跟蹤改變位置和方向的場景中的真實世界對象。

7. Camera and Scene Details

  • ARFrame

    • 作為AR會話的一部分捕獲的視頻圖像和位置跟蹤信息。
  • ARCamera

    • 關于AR會話中捕獲的視頻幀的攝像機位置和成像特性的信息。
  • ARLightEstimate

    • 與AR會話中捕獲的視頻幀相關聯的估計場景照明信息。
  • ARDirectionalLightEstimate

    • 在面部跟蹤AR會話中與捕獲的視頻幀相關聯的估計環境照明信息。

8. Reference

后記

未完,待續~~~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容