Swift SceneKit:sceneView projectPoint具有多个摄像头
如果场景包含多个摄影机,Swift SceneKit:sceneView projectPoint具有多个摄像头,swift,scenekit,Swift,Scenekit,如果场景包含多个摄影机,projectPoint方法使用哪个摄影机将点从3D投影到屏幕空间?如果这是由pointOfView属性定义的,那么当我更新pointOfView的位置时,为什么给定的3D点仍然投影到相同的2D点?由于SCNCamera属于SCNView,只需通过视图的“pointOfView”实例属性将PoV设置为所需的摄影机节点 let cameraNode001 = SCNNode() cameraNode001.camera = SCNCamera() scene.rootNod
projectPoint
方法使用哪个摄影机将点从3D投影到屏幕空间?如果这是由pointOfView
属性定义的,那么当我更新pointOfView
的位置时,为什么给定的3D点仍然投影到相同的2D点?由于SCNCamera属于SCNView,只需通过视图的“pointOfView”实例属性将PoV
设置为所需的摄影机节点
let cameraNode001 = SCNNode()
cameraNode001.camera = SCNCamera()
scene.rootNode.addChildNode(cameraNode001)
cameraNode001.position = SCNVector3(x: 0, y: 0, z: 15)
let cameraNode002 = SCNNode()
cameraNode002.camera = SCNCamera()
scene.rootNode.addChildNode(cameraNode002)
cameraNode002.position = SCNVector3(x: 10, y: 10, z: 30)
let sceneView = self.view as! SCNView
sceneView.scene = scene
sceneView.pointOfView = cameraNode001
然后您可以更改PoV:
sceneView.pointOfView = cameraNode002