ARkit簡介

ARKit簡介

AR(Augment Reality:增強現實)大家都知道,就是將3D模型渲染在攝像頭圖像之上,混合渲染達到虛擬物品就好像是現實的一部分。ARKit解決了模型定位難的問題,結合CoreMotion運動數據與圖像處理數據,來建立一個非常準確的SLAM系統,構建虛擬世界和現實世界之間的映射。同時能夠分析環境自動給模型添加光源,實際效果還是比較驚豔的。
從結構上看,ARKit提供了一套簡單易用的AR框架,但框架之外,需要很多的三維空間、遊戲編程、3D模型、GPU渲染的知識來理解AR技術。ARKit最重要的兩個類是ARSessionARSCNView

這裏寫圖片描述

類似與AVFoudation,ARKit中由ARSesseion類來配置SLAM系統的建立。設置RSession的配置選項爲ARWorldTrackingSessionConfiguration來追蹤設備的方向與位置,並且能夠檢測平面這裏有個彩蛋,後面文章說明。這個選項只有A9處理器之上才支持。其他型號處理器(6S以下)只能追蹤設備的方向。

ARKit的提供了自帶的兩個渲染類:ARSCNView和ARSKView,後者用來渲染2D模型。之前鮮有問津的SceneKit(3D引擎)算是有了用武之地。這兩個類會自動開啓攝像頭並建立虛擬空間與現實空間之間的映射。同時ARKit也支持自定義用OpenGL或Metal實現渲染類,但要自己管理與ARSession之間的通信,同時要遵循iOS GPU命令不能在後臺調用的規則。

其他比較重要的類有ARAnchorARHitTestResultARFrameARCamera

  • ARAnchor

世界中點,可以用來放置虛擬物品,也可以代指現實物品的放置位置。ARAnchor在世界中是唯一的,幷包含仿射變換的信息。

  • ARHitTestResult

HitTest的返回,世界中的ARAnchor。
與UIKit中的hitTest不同,ARKit的HitTest以設備方向配合視圖座標,建立一條世界中的射線,所有在射 線上的ARAnchor, 會以由近到遠的方式返回。此外SCeneKit的HitTest返回虛擬物品。

  • ARFrame

攝像頭視頻幀的包裝類,包含位置追蹤信息、環境參數、視頻幀。重點是它包含了蘋果檢測的特徵點,通過rawFeaturePoints可以獲取,不過只是特徵的位置,具體的特徵向量並沒有開放。

  • ARCamera

場景中的攝像機,用來控制模型視圖變換和投影變換。同時提供6DOF(自由度信息,方向+位置)與追蹤信息

  • 相關ARkit的介紹還有很多,我就不一一說了,下一遍開始實戰
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章