Search code examples
iosswifttransformscenekit

scenekit - animate SCNNode.transform


Apple docs state that SCNNode.transform is animatable. What is the best way to animate following transformation?

cameraOrbit.transform = SCNMatrix4Mult(cameraOrbit.transform,SCNMatrix4MakeRotation(angle,  x, y, 0.0))

Solution

  • Based on @rickster guidance, this is the working code in case somebody runs into similar issue -

     let animation = CABasicAnimation(keyPath: "transform")
     animation.fromValue = cameraOrbit.transform
     animation.toValue = SCNMatrix4Mult(cameraOrbit.transform,SCNMatrix4MakeRotation(angle,  x, y, 0.0))
     animation.duration = 0.5
     cameraOrbit.addAnimation(animation, forKey: nil)