Я пытаюсь отобразить пирамиду, которая указывает на ось z, а затем вращается сама по себе вокруг z. Когда моя камера находится на оси z, я ожидаю увидеть пирамиду сверху. Мне удалось повернуть пирамиду, чтобы увидеть ее таким образом, но когда я добавляю анимацию, она поворачивается на несколько осей.
Вот мой код:
// The following create the pyramid and place it how I want
let pyramid = SCNPyramid(width: 1.0, height: 1.0, length: 1.0)
let pyramidNode = SCNNode(geometry: pyramid)
pyramidNode.position = SCNVector3(x: 0, y: 0, z: 0)
pyramidNode.rotation = SCNVector4(x: 1, y: 0, z: 0, w: Float(M_PI / 2))
scene.rootNode.addChildNode(pyramidNode)
// But the animation seems to rotate aroun 2 axis and not just z
var spin = CABasicAnimation(keyPath: "rotation")
spin.byValue = NSValue(SCNVector4: SCNVector4(x: 0, y: 0, z: 1, w: 2*Float(M_PI)))
spin.duration = 3
spin.repeatCount = HUGE
pyramidNode.addAnimation(spin, forKey: "spin around")