Проблемы с анимацией 3D объектов в SpriteKit

swift
spritekit

#1

Здравствуйте товарищи разработчики!!

Столкнулся с проблемой анимации 3Д-объектов в SpriteKit.

Суть в следующем: Есть проект 2Д-игры, использующий SpriteKit.
SpriteKit допускает использование 3Д объектов при рендеринге 2Д сцен. Вот код, начисто переписанный с сайта Apple Developer:

let scnScene: SCNScene = {
let scnScene = SCNScene()
let geometry = SCNTorus(ringRadius: 100, pipeRadius: 25)
let torus = SCNNode(geometry: geometry)
torus.position = SCNVector3(x: 0, y: 0.0, z: 0.0)
torus.eulerAngles = SCNVector3(x: Float.pi/2, y: 0, z: 0)
scnScene.rootNode.addChildNode(torus)
return scnScene
}()

    let node = SK3DNode(viewportSize: CGSize(width: 100, height: 100))
    node.scnScene = scnScene
    node.position = CGPoint(x: 100, y: 100)
    node.zPosition = 5
    addChild(node)

До этого момента все хорошо и способ работает. Проблемы начинаются, когда я пытаюсь анимировать 3Д объект в scnScene:

let scnScene: SCNScene = {
let scnScene = SCNScene()
let geometry = SCNTorus(ringRadius: 100, pipeRadius: 25)
let torus = SCNNode(geometry: geometry)
torus.position = SCNVector3(x: 0, y: 0.0, z: 0.0)
torus.eulerAngles = SCNVector3(x: Float.pi/2, y: 0, z: 0)
scnScene.rootNode.addChildNode(torus)
let rotate = SCNAction.rotate(by: CGFloat.pi * 2, around: SCNVector3(x: 0.0, y: 1.0, z: 0.0), duration: 5.0)
torus.runAction(SCNAction.repeatForever(rotate))
return scnScene
}()

Анимация создается и работает. Но только почему то в это же время происходят пульсации масштаба 2Д-ноды. Причем ощутимая. Примерно процентов 30-35.

Кто нибудь может подсказать - в какую сторону копать? Этой проблемы я не нашел даже на StackOverflow.

Заранее спасибо!