ARView和ARSCNView都是ARKit框架中处理AR场景的视图,但它们在一些细节方面有所不同。
ARSCNView是ARKit提供的SceneKit场景下的AR视图,它默认包含了一个SceneKit的渲染环境,这使得很容易把3D模型放到现实世界中。下面是创建ARSCNView的示例代码:
import ARKit
import SceneKit
class ViewController: UIViewController, ARSCNViewDelegate {
var sceneView: ARSCNView!
override func viewDidLoad() {
super.viewDidLoad()
sceneView = ARSCNView(frame: view.bounds)
view.addSubview(sceneView)
sceneView.delegate = self
let scene = SCNScene()
sceneView.scene = scene
let configuration = ARWorldTrackingConfiguration()
sceneView.session.run(configuration)
}
}
ARView是在ARKit 3中引入的全新API,它是一个基本AR视图,可以在其中添加各种自定义元素,下面是创建ARView的示例代码:
import ARKit
class ViewController: UIViewController {
var arView: ARView!
override func viewDidLoad() {
super.viewDidLoad()
arView = ARView(frame: view.bounds)
view.addSubview(arView)
let configuration = ARWorldTrackingConfiguration()
arView.session.run(configuration)
}
}
总的来说,如果你想要快速创建并展示一个3D模型,可以使用ARSCNView;如果你想要更多的自定义 HUD(人机交互界面)和渲染元素,选择ARView会更加灵活。
下一篇:ARView上的黑屏