我正在尝试构建我的第一个ARKit应用程序。该应用程序的目的是在相机面向的方向拍摄小块。现在,这是我的代码。
sceneView.scene.physicsWorld.gravity = SCNVector3(x: 0, y: 0, z: -9.8)
@IBAction func tapScreen() {
if let camera = self.sceneView.pointOfView {
let sphere = NodeGenerator.generateCubeInFrontOf(node: camera, physics: true)
self.sceneView.scene.rootNode.addChildNode(sphere)
var isSphereAdded = true
print("Added box to scene")
}
}
重力工作正常,每当我点击屏幕时,每次点击都会拍摄出来。然而,无论相机朝哪个方向,它们都会射到同一点。我想了解pointOfView是如何工作的,我需要重新渲染整个场景吗?还有别的我想不到的东西?谢谢你的帮助!
答案 0 :(得分:1)
从
更改此行self.sceneView.scene.rootNode.addChildNode(sphere)
到
self.sceneView.pointOfView?.addChildNode(sphere)