本節(jié)學(xué)習(xí)目標(biāo)
- 檢測相機(jī)視野中有哪些節(jié)點(diǎn)
2.判斷節(jié)點(diǎn)是否在相機(jī)視野中
比如ar導(dǎo)航項(xiàng)目中經(jīng)常會(huì)檢測某個(gè)節(jié)點(diǎn)是否在視野中,出現(xiàn)提示箭頭?下面我們將實(shí)現(xiàn)的代碼講解一下
第一步 先將照相機(jī)節(jié)點(diǎn)設(shè)為場景的視野節(jié)點(diǎn)
self.scnView.pointOfView = cameraNode
第二步 檢測視野中包含的所有節(jié)點(diǎn)
let nodes = self.scnView.nodesInsideFrustum(of: self.scnView.pointOfView!)
提示
不管是否在被遮擋都會(huì)檢測到,但是設(shè)置節(jié)點(diǎn)隱藏是不會(huì)被檢測到的。
如何檢測節(jié)點(diǎn)是否在視野中?
let inFrustum = self.scnView.isNode(sphereNode, insideFrustumOf: self.scnView.pointOfView!)
提示
就算節(jié)點(diǎn)被隱藏,通過這個(gè)方法也能被檢測出來