2017-12-18 1 views
0

Sagen wir, ich zeichne einen Kreis in der Mitte meines Bildschirms, um es als Ziel zu verwenden. Wenn ich diesen Kreis auf einen Knoten zeige, wie kann er von ARKit erkannt werden?Detect SCNNode nur mit der Kamera

Denn jetzt ich bin mit der Tap-Methode

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

, die wirklich gut funktioniert, aber es wäre so viel besser, nur einen Knoten zu erfassen, indem Sie die Kamera auf sie zeigen.

Antwort

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) 

Einsatzort in hittest

+0

Ok, so brauche ich nur die hitTest jedesmal, wenn die Kamera bewegt sich auszulösen. Irgendeine Idee, welches Ereignis es sein könnte? – Mencls

+0

Func-Renderer (_ Renderer: SCNSceneRenderer, updateAtTime Zeit: TimeInterval). es wird jedes Bild aufgerufen. –

+0

Funktioniert gut, mit wirklich einfachem Code. Danke, Mann. – Mencls