1

I want my camera to keep rotating, automatically, around a object and only changing it's direction at certain moments. I saw some solutions but they were all with gesture recognizers... How can I keep it rotating at a constant velocity and change it's directions?

Here is my code:

class GameViewController: UIViewController {

var gameView:SCNView!
var gameScene:SCNScene!
var cameraNode:SCNNode!
var camera:SCNCamera!
var cameraOrbit:SCNNode!

override func viewDidLoad() {
    super.viewDidLoad()

    initView()
    initScene()
    initCamera()
}


func initView() {
    gameView = self.view as! SCNView
    gameView.allowsCameraControl = false
    gameView.autoenablesDefaultLighting = true
}
func initScene() {
    gameScene = SCNScene()
    gameView.scene = gameScene
    gameView.isPlaying = true
}
func initCamera() {
    camera.usesOrthographicProjection = true
    camera.orthographicScale = 9
    camera.zNear = 1
    camera.zFar = 100

    cameraNode = SCNNode()
    cameraNode.camera = camera
    cameraNode.position = SCNVector3(x: 0, y: 5, z: 20)
    gameScene.rootNode.addChildNode(cameraNode)

    cameraOrbit.addChildNode(cameraNode)
    cameraOrbit.eulerAngles.y = Float(M_PI)
    cameraOrbit.eulerAngles.x = Float(2*M_PI)
    gameScene.rootNode.addChildNode(cameraOrbit)
}
Pedro de Sá
  • 760
  • 6
  • 19

0 Answers0