首页 > 解决方案 > 点击 3d 模型并在 ARKit 中执行操作

问题描述

我使用以下代码在 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)
    }
}

标签: iosswiftscenekitarkit

解决方案


推荐阅读