Gire um nó usando o gesto de panorâmica no SceneKit iOS

Estou usando o código abaixo para girar um nó usando o gesto de panorâmica. Eu gosto de girar meu nó apenas no eixo y.

let translation = gestureRecognize.translation(in: gestureRecognize.view!)

let x = Float(translation.x)
let y = Float(-translation.y)
let anglePan = (sqrt(pow(x,2)+pow(y,2)))*(Float)(Double.pi)/180.0

var rotationVector = SCNVector4()
rotationVector.x = 0.0
rotationVector.y = x
rotationVector.z = 0.0
rotationVector.w = anglePan


node.rotation = rotationVector

if(gestureRecognize.state == UIGestureRecognizerState.ended) {
    let currentPivot = node.pivot
    let changePivot = SCNMatrix4Invert( node.transform)

    node.pivot = SCNMatrix4Mult(changePivot, currentPivot)
    node.transform = SCNMatrix4Identity

}

Isso funciona para nós com Euler definido como (x: 0, y: 0, z: 0). Mas meu nó tem Euler (x: -90, y: 0, z: 0). Para os meus valores de Euler acima do código, o objeto gira no ângulo errado. Como rotacionar um nó com meus / diferentes valores de Euler?

questionAnswers(3)

yourAnswerToTheQuestion