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