如何在ARKit上垂直插入SCNScene?我无法扣留并将物体垂直放置。
override func viewDidLoad() {
super.viewDidLoad()
// Set the view's delegate
sceneView?.delegate = self
// Show statistics such as fps and timing information
sceneView?.showsStatistics = true
// Create a new scene
let scene = SCNScene(named: "art.scnassets/tabellone.scn")
sceneView?.debugOptions = [SCNDebugOptions.showFeaturePoints]
// Set the scene to the view
sceneView?.scene = scene!
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Create a session configuration
let configuration = ARWorldTrackingConfiguration()
configuration.planeDetection = .vertical
configuration.isLightEstimationEnabled = true
// Run the view's session
sceneView?.session.run(configuration)
}
答案 0 :(得分:0)
您需要合适的垂直表面进行跟踪。具有纯色(没有可区别特征)的墙是非常不好的情况(您可以在左侧图像中看到这样的垂直表面)。跟踪垂直表面的最可靠方法是照明良好的砖墙,上面有图片的墙壁或图案可区分的墙壁等。
所以正确的图像是跟踪和垂直平面检测的很好的例子。
如果要探索如何将3D对象放置到检测到的平面上,请查看Apple的Handling 3D Interaction and UI Controls in AR项目。
希望这会有所帮助。