在 SceneKit 中按所需方向旋转后如何平移相机节点位置?

How can i translate my camera node position after rotation in required direction in SceneKit?

我正在 iOS 中使用 SceneKit 开发 3D 应用程序,我需要在旋转后平移相机位置。有人可以帮我完成这个任务吗?

我通常通过将几个 SCNMatrix4 操作串在一起来做到这一点。

let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()

//start off with an identity matrix
var cameraTransform = SCMMatrix4Identity

//rotate by 90degrees about Z axis
cameraTransform = SCNMatrix4Rotate(cameraTransform, Float(M_PI_2), 0, 0, 1)

//translate by 2 units in x direction
cameraTransform = SCNMatrix4Translate(cameraTransform, 2, 0, 0)

//set the camera's transform
cameraNode.transform = cameraTransform