ARKit概述
ARKit屬于框架級別,類于iOS開發(fā)中UIKit。ARKit結(jié)合運(yùn)用 iOS 設(shè)備攝像頭和運(yùn)動功能,在您的 app 或游戲中提供增強(qiáng)現(xiàn)實(shí)體驗(yàn)。
那什么是是增強(qiáng)現(xiàn)實(shí)體驗(yàn),怎么算是一種增強(qiáng)現(xiàn)實(shí)體驗(yàn)?zāi)兀?b>通過設(shè)備攝像頭為實(shí)時視圖增添 2D 或 3D 元素,讓這些元素看似存在于真實(shí)世界中一般,這就是“增強(qiáng)現(xiàn)實(shí) (AR)”所指的用戶體驗(yàn)。ARKit 框架用到 iOS設(shè)備相關(guān)的API包括:設(shè)備運(yùn)動跟蹤、攝像頭場景捕捉、高級場景處理和顯示便捷性。
USDZ文件:就是一個3D文件格式,它和常見的OBJ、STL、glTF 3D文件格式類似,而其特點(diǎn)就是不僅可嵌入任何網(wǎng)頁、App中,而且還能夠結(jié)合蘋果的ARKit 2.0功能實(shí)現(xiàn)AR Quick Look快速預(yù)覽功能.來源:講解參考
后置攝像頭:ARWorldTrackingConfiguration?(英文)??
前置攝像頭:ARFaceTrackingConfiguration?(英文)?iPhoneX使用
在iOS12上 使用?QLPreviewController和USDZ,無需自己制作3d模型,系統(tǒng)會為 3D 物體提供 AR 視圖。
ARKit硬件設(shè)備支持
iOS11.0或更高版本,搭載A9或更新處理器的iOS設(shè)備(是蘋果公司的第三代64位移動處理器,核心數(shù)為雙核心iPhone6s、iPhone6s plus、iPhone SE與iPad 5th)
由于ARKit需要攝像頭權(quán)限所以需要在Info.plist配置下相機(jī)權(quán)限訪問。設(shè)備兼容性設(shè)置取決于在app中怎么使用ARKit:
1、如果app基礎(chǔ)功能需要AR(需要用到后置攝像頭),需要在Info.plist添加UIRequiredDeviceCapabilities,如下圖:

2、如果ARKit是app中的次要功能,ARConfiguration?(英文)?子類的?isSupported?(英文)?屬性,檢查當(dāng)前設(shè)備是不是支持您想要使用的 AR 配置。

3、如果app用到臉部追蹤功能,由于臉部追蹤功能要求使用 iPhone X 上的前置原深感攝像頭,如果app想在其他設(shè)備能正常運(yùn)行 不閃退 需要加入是否支持的臉部追蹤的判斷。

注意:如果您的 app 使用?ARFaceTrackingConfiguration?(英文),ARKit 會為您的 app 提供個人面部信息。如果您使用 ARKit 面部跟蹤功能,app 中必須包含隱私政策,向用戶說明面部跟蹤和面部數(shù)據(jù)的用途。有關(guān)詳細(xì)信息:https://developer.apple.com/terms/
ARKit學(xué)習(xí)路線圖
