Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tap / Select Node in SceneKit (Swift)

I'm new to SceneKit and 3D spaces in iOS. I'm currently working on a simple game that shows a cube of 28 segments ("mini cubes" if you want).

I want to move the mini cubes by tapping them, but I can't get my head around how to select specific nodes (childnodes of the big cube).

Can anybody help me or post a link to SceneKit tutorials for dummies? I've been looking for days now, and haven't found what I'm looking for.

Cheers

like image 270
Sebastian Avatar asked Jan 18 '15 00:01

Sebastian


1 Answers

You can hit test the scene view (for example from the location of a tap gesture recognizer), which will give you a list of hit test results. From each result you can get the node (and other information):

let location: CGPoint = // for example from a tap gesture recognizer
let hits = self.sceneView.hitTest(location, options: nil)
if let tappedNode = hits?.first?.node {
    // do something with the tapped node ...
}
like image 98
David Rönnqvist Avatar answered Oct 20 '22 12:10

David Rönnqvist