Класс ARSCNView
ARKit является потомком класса SCNView
SceneKit, поэтому вам даже не нужно импортировать SceneKit, если вы уже импортировали модуль ARKit. Хотя вы можете легко использовать ARKit и RealityKit вместе.
Для обнаружения объектов RealityKit используйте следующий код:
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)
}
}