Просто установите положение камеры по умолчанию и ориентацию на нужные значения.Используйте следующий код:
func resetCameraToDefaultPosition() {
sceneView.pointOfView?.position = SCNVector3(x: 5, y: 0, z: 5)
sceneView.pointOfView?.orientation = SCNVector4(x: 0, y: 1, z: 0, w: .pi/4)
}
Также, как предложено @ mnuages , вы можете использовать свойство экземпляра defaultCameraController
для кадрирования всех узлов с трехмерной геометрией в вашей сцене:
func resetCameraToDefaultPosition() {
sceneView.defaultCameraController.frameNodes([coneNode, sphereNode, cubeNode])
}
Но лучший способ - создать новую камеру. Вот что говорит документация Apple :
Используйте узел с экземпляром SCNCamera, назначенным его свойству камеры, для просмотра сцены.Узел обеспечивает положение и направление виртуальной камеры, а объект камеры обеспечивает параметры рендеринга, такие как поле зрения и фокус.
let cameraNode = SCNNode()
cameraNode.position = SCNVector3(x: CGFloat, y: CGFloat, z: CGFloat)
cameraNode.rotation = SCNVector4(x: CGFloat, y: CGFloat, z: CGFloat, w: CGFloat)
let camera = SCNCamera()
camera.focalLength = 24
cameraNode.camera = camera
Надеюсь, это поможет.