如果一个场景包含多个摄影机,projectPoint
方法使用哪个摄影机将点从3D投射到屏幕空间?如果这是由pointOfView
属性定义的,那么当我更新pointOfView
的位置时,为什么给定的3D点仍然投影到相同的2D点?
发布于 2019-04-28 13:32:40
因为SCNCamera属于SCNView,所以只需通过View的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
https://stackoverflow.com/questions/55813960
复制相似问题