我使用以下代码在 arkit 中投影了一个 3D 模型。我正在努力解决以下问题,当我点击投影模型时,我想知道父节点的名称。当我点击模型时,我想在屏幕上显示一个包含模型信息的 uiview。
@objc func didTap(withGestureRecognizer recognizer: UIGestureRecognizer) {
let tapLocation = recognizer.location(in: sceneView)
let hitTestResults = sceneView.hitTest(tapLocation, types: .existingPlaneUsingExtent)
guard let hitTestResult = hitTestResults.first else { return }
drone.position = SCNVector3(0,-0.5,-2)
sceneView.scene.rootNode.addChildNode(drone)
}
这是在场景视图中添加模型的无人机类
import ARKit
import SceneKit.ModelIO
class Drone: SCNNode {
func loadModel(url : URL,modelFormat : String) {
let scene = SCNScene(named: "top.scn")!
let wrapperNode = SCNNode()
for child in scene.rootNode.childNodes {
wrapperNode.addChildNode(child)
}
addChildNode(wrapperNode)
}
}