集成iOS設備相機和動作功能骤视,在您的應用或游戲中產生增強現(xiàn)實體驗。
SDK
- iOS 11.0+
概觀
一個增強現(xiàn)實(AR)描述了用戶體驗,從設備的攝像頭的方式袜爪,使這些元素似乎居住在現(xiàn)實世界中添加2D或3D元素到實時取景贰谣。ARKit結合了設備運動跟蹤娜搂,攝像機場景捕捉,高級場景處理和顯示便利性吱抚,簡化了構建AR體驗的任務百宇。您可以使用這些技術使用iOS設備的后置攝像頭或前置攝像頭創(chuàng)建多種AR體驗。
使用后置攝像頭增強現(xiàn)實感
最常見的AR體驗類型顯示來自iOS設備的后置攝像頭的視圖秘豹,并通過其他可視內容進行擴充携御,為用戶提供了一種查看周圍世界并與之交互的新方式。
ARWorld Tracking Configuration
提供這種體驗:ARKit映射和跟蹤用戶所居住的真實世界空間,并將其與坐標空間相匹配啄刹,以便您放置虛擬內容涮坐。世界跟蹤還提供使AR體驗更具沉浸感的功能,例如識別用戶環(huán)境中的對象和圖像以及響應真實世界的光照條件誓军。
注意
您可以在用戶的??真實環(huán)境中顯示3D對象袱讹,而無需構建自定義AR體驗。在iOS 12中昵时,當您在應用程序中使用USDZ文件時捷雕,系統(tǒng)會為3D對象提供AR視圖,或者在Web內容中使用帶有USDZ文件的Safari或WebKit债查。QLPreview Controller
使用前置攝像頭增強現(xiàn)實感
在iPhone X上非区,ARFace Tracking Configuration
使用前置TrueDepth相機提供有關用戶臉部姿勢和表情的實時信息,供您在渲染虛擬內容時使用盹廷。例如征绸,您可以在攝像機視圖中顯示用戶的面部并提供逼真的虛擬遮罩。您還可以省略攝像機視圖并使用ARKit面部表情數(shù)據為虛擬角色設置動畫俄占,如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體驗枝哄。
class ARWorldTrackingConfiguration
使用后置攝像頭的配置,跟蹤設備的方向和位置阻荒,并檢測真實世界的表面挠锥,以及已知的圖像或對象。
有關在世界跟蹤AR會話中檢測到的真實世界平面的位置和方向的信息侨赡。
class AREnvironmentProbeAnchor
在世界跟蹤AR會話中為特定空間區(qū)域提供環(huán)境照明信息的對象瘪贱。
用戶體驗
按照以下示例和人機界面指南 > 增強現(xiàn)實纱控,構建引人注目的直觀AR體驗。
通過提供清晰的反饋菜秦,從中斷中恢復以及恢復以前的會話,使您的AR體驗更加強大舶掖。
遵循AR體驗中的視覺反饋球昨,手勢交互和逼真渲染的最佳實踐。
了解Apple如何為WWDC18構建精選演示眨攘,并獲得使用ARKit主慰,SceneKit和Swift制作自己的多人游戲的技巧。
AR世界分享和堅持
使用MultipeerConnectivity框架在附近設備之間傳輸ARKit世界地圖數(shù)據鲫售,為AR體驗創(chuàng)建共享基礎共螺。
保存并加載ARKit世界地圖數(shù)據,以允許用戶在相同的真實環(huán)境中返回之前的AR體驗情竹。
來自世界跟蹤AR會話的空間映射狀態(tài)和錨點集藐不。
圖像檢測和跟蹤
在用戶環(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對象的位置和方向的信息。
class ARObjectScanningConfiguration
一種配置夜惭,使用后置攝像頭收集高保真空間數(shù)據姻灶,用于掃描3D對象以便以后檢測。
命中測試和真實世界的位置
通過檢查AR會話的設備攝像機視圖中的點找到有關真實世界表面的信息滥嘴。
可用于在AR場景中放置對象的真實世界位置和方向木蹬。
支持自定義ARAnchor
子類。
場景中的真實世界對象若皱,ARKit跟蹤位置和方向的變化镊叁。
相機和場景細節(jié)
具有位置跟蹤信息的視頻圖像作為AR會話的一部分被捕獲。
有關AR會話中捕獲的視頻幀的攝像機位置和成像特征的信息走触。
與AR會話中捕獲的視頻幀相關聯(lián)的估計場景照明信息晦譬。
面部追蹤
使用iPhone X上的TrueDepth相機創(chuàng)建響應用戶臉部和面部表情的AR體驗。
使用面部跟蹤AR會話提供的信息來放置3D內容并為其添加動畫互广。
class ARFaceTrackingConfiguration
使用TrueDepth相機跟蹤用戶臉部的移動和表情的配置敛腌。
有關在面部跟蹤AR會話中檢測到的面部的姿勢卧土,拓撲和表情的信息。
class ARDirectionalLightEstimate
在面部跟蹤AR會話中與捕獲的視頻幀相關聯(lián)的估計的環(huán)境照明信息像樊。
專業(yè)配置
class AROrientationTrackingConfiguration
使用后置攝像頭并僅跟蹤設備方向的配置尤莺。
class ARImageTrackingConfiguration
使用后置攝像頭檢測和跟蹤已知圖像的配置。
相關技術
使用聲音效果和環(huán)境聲音層創(chuàng)建引人入勝的AR體驗生棍。
管理Vision資源以有效執(zhí)行Core ML圖像分類器颤霎,并使用SpriteKit在AR中顯示圖像分類器輸出。