现实工具包(RealityKit)和场景工具包(SceneKit)可以一起使用吗?

4

我想在RealityKit的ARView中使用物体检测,但只找到了在SceneKit的ARSCNView中实现它的文档。

有没有绕过这个问题的方法?

1个回答

3
你可以一起使用ARKit和RealityKit,但由于它们完全不同,你不能将RealityKit与SceneKit一起使用。然而,物体检测可以很容易地在RealityKit的ARView中实现。
为此,请使用以下代码:
import ARKit
import RealityKit

extension ViewController: ARSessionDelegate {

    func session(_ session: ARSession, didUpdate anchors: [ARAnchor]) {

        guard let objectAnchor = anchors.first as? ARObjectAnchor,
              let _ = objectAnchor.referenceObject.name
        else { return }

        let anchor = AnchorEntity(anchor: objectAnchor)   
        anchor.addChild(model)    
        arView.scene.anchors.append(anchor)
    }
}

然后将相应的内容放入.arresourcegroup文件夹中。

class ViewController: UIViewController {

    @IBOutlet var arView: ARView! 

    override func viewDidLoad() {
        super.viewDidLoad()    
        arView.session.delegate = self

        guard let obj = ARReferenceObject.referenceObjects(inGroupNamed: "Objs", 
                                                                 bundle: nil) 
        else { return }

        let config = ARWorldTrackingConfiguration()
        config.detectionObjects = obj
        arView.session.run(config)
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接