ARKit
集成iOS設備相機和動作功能蜘犁,在您的應用或游戲中產(chǎn)生增強現(xiàn)實體驗
概覽
增強現(xiàn)實(AR)描述了用戶體驗姚炕,從設備的攝像頭的方式征唬,添加2D或3D元素到實時視圖,使這些元素看起來生活在現(xiàn)實世界中菩咨。ARKit結合了設備運動跟蹤吠式,攝像機場景捕捉,高級場景處理和顯示便利性旦委,并且顯示出了簡化了構建AR體驗的便利。你可以使用這些技術使用iOS設備的后置攝像頭或前置攝像頭創(chuàng)建多種AR體驗雏亚。
使用后置攝像頭增強現(xiàn)實感
最常見的AR體驗類型從iOS設備的后置攝像頭來展示一個視圖缨硝,并通過其他可視內容進行增強,為用戶提供了一種查看周圍世界并與之交互的新方式罢低。
ARWorldTrackingConfiguration提供這種體驗:ARKit映射和跟蹤用戶所居住的真實世界空間查辩,并為你把坐標空間與虛擬內容相匹配。世界跟蹤還提供功能使AR體驗更具沉浸感(更加身臨其境)网持,例如識別用戶環(huán)境中的對象和圖像以及響應現(xiàn)實世界的光照條件宜岛。
注意
您可以在用戶的??真實環(huán)境中顯示3D對象,而無需構建自定義AR體驗功舀。在iOS 12中萍倡,當您在應用程序中使用帶有USDZ文件的 QLPreviewController時,或者在Web內容中使用帶有USDZ文件的Safari或WebKit時,系統(tǒng)會為3D對象提供AR視圖辟汰。
使用前置攝像頭增強現(xiàn)實感
在iPhone X上列敲,ARFaceTrackingConfiguration使用前置TrueDepth相機提供有關用戶臉部姿勢和表情的實時信息,供你在渲染虛擬內容時使用帖汞。例如戴而,您可以在攝像機視圖中顯示用戶的面部并提供逼真的虛擬遮罩。您還可以省略攝像機視圖并使用ARKit面部表情數(shù)據(jù)為虛擬角色設置動畫翩蘸,如iMessage的Animoji應用程序中所示所意。
話題
第一步
確保您的應用可以使用ARKit并尊重用戶隱私。
一個共享對象催首,用于管理增強現(xiàn)實體驗所需的設備攝像頭和運動處理扶踊。
AR會話配置的抽象基類。
顯示
用于顯示增強使用3D SceneKit內容的攝像機視圖的AR體驗的視圖郎任。
用于顯示增強使用2D SpriteKit內容的攝像機視圖的AR體驗的視圖姻檀。
通過渲染攝像機圖像并使用位置跟蹤信息來顯示疊加內容,從而構建自定義AR視圖涝滴。
世界追蹤
創(chuàng)建AR體驗绣版,允許用戶使用設備的后置攝像頭探索周圍世界中的虛擬內容胶台。
創(chuàng)建運行AR會話的應用程序,并使用平面檢測使用SceneKit放置3D內容杂抽。
發(fā)現(xiàn)支持概念诈唬,功能和最佳實踐,以構建出色的AR體驗缩麸。
一種配置铸磅,使用后置攝像頭,跟蹤設備的方向和位置杭朱,并檢測真實世界的表面阅仔,以及已知的圖像或對象。
有關在世界跟蹤AR會話中檢測到的真實世界平面的位置和方向的信息弧械。
用戶體驗
按照以下示例和人機界面指南>增強現(xiàn)實八酒,構建引人注目的直觀AR體驗。
通過提供清晰的反饋刃唐,從中斷中恢復以及恢復以前的會話羞迷,使您的AR體驗更加強大。
遵循AR體驗中的視覺反饋画饥,手勢交互和逼真渲染的最佳實踐衔瓮。
了解Apple如何構建WWDC18的精選演示,并獲得使用ARKit抖甘,SceneKit和Swift制作自己的多人游戲的技巧热鞍。
AR世界分享與堅持
使用MultipeerConnectivity框架在附近設備之間傳輸ARKit世界地圖數(shù)據(jù),為AR體驗創(chuàng)建共享基礎衔彻。
保存并加載ARKit世界地圖數(shù)據(jù)碍现,以允許用戶在相同的真實環(huán)境中返回之前的AR體驗。
來自世界跟蹤AR會話的空間映射狀態(tài)和錨點集米奸。
環(huán)境紋理
使用ARKit從攝像機圖像生成環(huán)境探測紋理并渲染反射虛擬對象昼接。
在世界跟蹤AR會話中為特定空間區(qū)域提供環(huán)境照明信息的對象。
圖像檢測和跟蹤
在用戶環(huán)境中使用已知的2D圖像來增強世界跟蹤AR會話悴晰。
在用戶環(huán)境中檢測已知的2D圖像慢睡,并使用它們的位置放置AR內容。
在世界跟蹤AR會話期間在現(xiàn)實世界環(huán)境中識別的圖像铡溪。
有關在世界跟蹤AR會話中檢測到的圖像的位置和方向的信息漂辐。
物體檢測
使用用戶環(huán)境中的已知3D對象來增強世界跟蹤AR會話。
記錄現(xiàn)實世界對象的空間特征棕硫,然后使用結果在用戶環(huán)境中查找這些對象并觸發(fā)AR內容髓涯。
在世界跟蹤AR會話期間在真實世界環(huán)境中識別的3D對象。
有關在世界跟蹤AR會話中檢測到的真實3D對象的位置和方向的信息哈扮。
一種配置纬纪,使用后置攝像頭收集高保真空間數(shù)據(jù)蚓再,用于掃描3D對象以供日后檢測。
命中測試和真實世界的位置
通過檢查AR會話的設備攝像機視圖中的點找到有關真實世界表面的信息包各。
可用于在AR場景中放置對象的真實位置和方向摘仅。
支持自定義ARAnchor子類。
場景中的真實世界對象问畅,其中ARKit跟蹤位置和方向的變化娃属。
相機和場景細節(jié)
具有位置跟蹤信息的視頻圖像作為AR會話的一部分被捕獲。
有關AR會話中捕獲的視頻幀的攝像機位置和成像特征的信息护姆。
與AR會話中捕獲的視頻幀相關聯(lián)的估計場景照明信息矾端。
面部追蹤
使用iPhone X上的TrueDepth相機創(chuàng)建響應用戶臉部和面部表情的AR體驗。
使用面部跟蹤AR會話提供的信息放置3D內容并為其添加動畫效果卵皂。
使用TrueDepth相機跟蹤用戶臉部的移動和表情的配置秩铆。
關于在面部跟蹤AR會話中檢測到的面部的姿勢,拓撲和表情的信息渐裂。
在面部跟蹤AR會話中與捕獲的視頻幀相關聯(lián)的估計的環(huán)境照明信息豺旬。
專業(yè)配置
AROrientationTrackingConfiguration
使用后置攝像頭并僅跟蹤設備方向的配置钠惩。
使用后置攝像頭檢測和跟蹤已知圖像的配置柒凉。
相關技術
使用聲音效果和環(huán)境聲音層創(chuàng)建引人入勝的AR體驗。
管理Vision資源以有效執(zhí)行Core ML圖像分類器篓跛,并使用SpriteKit在AR中顯示圖像分類器輸出膝捞。