概述
ARSCNView一種顯示AR體驗(yàn)的視圖粥脚,它通過(guò)3D SceneKit內(nèi)容增強(qiáng)了相機(jī)視圖。
ARSCNView類提供最方便的方法來(lái)創(chuàng)建增強(qiáng)現(xiàn)實(shí)體驗(yàn)視圖,視圖融合了設(shè)備攝像頭拍攝的現(xiàn)實(shí)世界和虛擬3D內(nèi)容。當(dāng)你運(yùn)行視圖提供的ARSession對(duì)象:
- 視圖自動(dòng)將設(shè)備攝像頭攝取的視頻渲染成場(chǎng)景的背景愚臀;
- 視圖的SceneKit場(chǎng)景世界的坐標(biāo)系直接反映到AR世界的坐標(biāo)系,AR世界的坐標(biāo)系就是session configuration創(chuàng)建的矾利;
- 視圖自動(dòng)移動(dòng)它的SceneKit相機(jī)姑裂,來(lái)匹配現(xiàn)實(shí)世界設(shè)備的移動(dòng);
因?yàn)锳RKit自動(dòng)匹配虛擬場(chǎng)景空間和現(xiàn)實(shí)世界男旗,在現(xiàn)實(shí)世界中放置一個(gè)虛擬對(duì)象只需正確地設(shè)置該對(duì)象SceneKit的位置就行了舶斧。(具體的請(qǐng)到Providing 3D Virtual Content with SceneKit查看)
你不一定需要使用ARAnchor類來(lái)跟蹤對(duì)象在場(chǎng)景中的位置,可以使用ARSCNViewDelegate的方法來(lái)跟蹤察皇,你可以添加內(nèi)容到被ARKit檢測(cè)到的任何anchor(錨點(diǎn))
主題
第一步
使用SceneKit添加3D對(duì)象到AR體驗(yàn)
var session: ARSession
AR session為視圖內(nèi)容管理運(yùn)動(dòng)跟蹤和相機(jī)圖像處理
var scene: SCNScene
SceneKit場(chǎng)景顯示在視圖中
響應(yīng)AR更新
var delegate: ARSCNViewDelegate?
提供了調(diào)節(jié)視圖的AR場(chǎng)景信息同步的方法
protocol ARSCNViewDelegate
你可以實(shí)現(xiàn)ARSCNViewDelegate的方法來(lái)調(diào)節(jié)視圖的AR場(chǎng)景信息同步
映射內(nèi)容到現(xiàn)實(shí)世界的位置
func anchor(for: SCNNode)
返回關(guān)聯(lián)了特定場(chǎng)景節(jié)點(diǎn)的AR錨點(diǎn)
func node(for: ARAnchor)
返回關(guān)聯(lián)了特定場(chǎng)景錨點(diǎn)的AR節(jié)點(diǎn)
管理場(chǎng)景燈光
var automaticallyUpdatesLighting: Bool
一個(gè)布爾值茴厉,表示是否創(chuàng)建和更新視圖場(chǎng)景中的燈光
調(diào)試AR顯示
struct ARSCNDebugOptions
選項(xiàng)值,繪制覆蓋內(nèi)容幫助調(diào)試場(chǎng)景視圖中AR軌跡
關(guān)系
繼承自 SCNView
遵循