Я использую ARKit - Scenekit для создания приложения на основе AR. У меня получается успешно разместить 3D модель. При нажатии пользователем я пытаюсь повернуть конкретный узел на -120 градусов, используя метод rotateTo. В идеале это должно вызвать плавное вращение анимации. Но вместо этого узел очень быстро вращается вокруг объекта и, наконец, заканчивается на -120 градусах. Когда я пытаюсь сделать то же самое прямо в редакторе сцены, перетаскивая действие rotateto, он работает нормально. Только когда я пытаюсь сделать это программно, он начинает очень быстро вращаться, и я даже не могу предварительно просмотреть поворот.
Ниже приведен код, который я использую для поворота узла.
let rotateAction = SCNAction.rotateTo(x: 0, y: 0, z: -120, duration: 2)
self.virtualObjectManager.lastUsedObject?.childNodes[0].childNodes[0].childNodes[0].runAction(rotateAction, completionHandler: {
})
Начальный угол узла (0,0,0). Я пытаюсь изменить его на (0,0, -120). Кто-нибудь, дайте мне знать, в чем проблема?