2017-12-18 218 views
0

比方说,我在屏幕中间画了一个圆圈,将它用作目标。如果我将这个圆圈指向节点,那么ARKit如何检测它?只用摄像头检测SCNNode

现在我使用的是自来水方法

@IBAction func tapHandler(_ sender: UITapGestureRecognizer) { 
    let viewTouchLocation:CGPoint = sender.location(in: sceneView) 
    guard let result = sceneView.hitTest(viewTouchLocation, options: nil).first else { 
     return 
    } 
    // ...etc 
} 

它的作品真的很好,但它会好得多只是指向它的摄像头检测到一个节点。

回答

2
let screenRect = UIScreen.main.bounds 
let screenWidth = screenRect.size.width 
let screenHeight = screenRect.size.height 

let location = CGPoint(x:screenWidth/2,y:screenHeight/2) 

使用位置则hitTest

+0

好了,所以我只需要每次触发则hitTest摄像机移动。任何想法它可能是什么事件? – Mencls

+0

func渲染器(_渲染器:SCNSceneRenderer,updateAtTime时间:TimeInterval)。它被称为每一帧。 –

+0

工程很好,代码非常简单。谢啦。 – Mencls