我想在RealityKit的ARView中使用对象检测,但只能找到在SceneKit的ARSCNView中实现它的文档。有什么办法吗?
ARView
ARSCNView
jchrr9hc1#
您可以同时使用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文件夹。
.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) } }
1条答案
按热度按时间jchrr9hc1#
您可以同时使用ARKit和RealityKit,但RealityKit不能与SceneKit一起使用,因为它们完全不同。然而,在RealityKit的ARView中可以轻松实现对象检测。
为此,请使用以下代码:
然后将相应内容放入
.arresourcegroup
文件夹。