Reputation: 5374
In an ARKit project, when the user taps the screen, I want to get the rootNode
of the element, that the user want to interact with.
func screenTapped(_ sender: UITapGestureRecognizer) {
let hitTestResult = sceneView.hitTest(touchLocation)
if let result = hitTestResult.first {
guard let rootNode = getRoot(for: result.node) else {return}
...
}
func getRoot(for node: SCNNode) -> SCNNode? {
if let node = node.parent {
return getRoot(for: node)
}
else {
return node
}
}
But it seems odd to me that Swift doesn't offer something by default, while offering recursive methods for child nodes.
SCNNode
?Upvotes: 1
Views: 897