Я работаю над приложением, которое сначала обнаруживает наличие вертикальной плоскости, а после этого, если пользователь касается плоскости, я добавляю SCNNode в rootNode.После этого я хочу определить, касается ли пользователь узла, чтобы выполнить больше действий, но я не могу обнаружить это касание, оно просто обнаруживает касания плоскости.Прямо сейчас я вернулся к этому методу:
@objc func tapped(sender: UITapGestureRecognizer) {
let sceneView = sender.view as! ARSCNView
let tapLocation = sender.location(in: sceneView)
let hitTest = sceneView.hitTest(tapLocation, types: .existingPlaneUsingExtent)
if !hitTest.isEmpty {
addItem(hitTestResult: hitTest.first!)
hideTip()
}
}
Который добавляет узел при нажатии на плоскость, но теперь я хочу определить, когда узел коснулся, я использовалэтот код:
let sceneView = sender.view as! ARSCNView
let tapLocation = sender.location(in: sceneView)
let hitTouchTest = sceneView.hitTest(tapLocation)
if !hitTouchTest.isEmpty {
let results = hitTouchTest.first!
let node = results.node
}
И он входит в if, но имя узла всегда равно nil, и когда я создаю узел, добавляя его в плоскость, я даю ему имя ... Как я могуобнаружить, что узел прослушивается?