我正在使用此代码为飞机的高度设置动画。

func animPlane2(){
            let animSize = CABasicAnimation(keyPath: "height")
            animSize.duration = 1.5
            animSize.byValue = 40
            animSize.repeatCount = Float.infinity
            animSize.autoreverses = true
            planeNode.addAnimation(animSize, forKey: nil)
        }


调试器抛出:
[SCNKit错误]高度不是可设置动画的路径(来自| no child>)

有关飞机高度的文档说明:


  平面沿其垂直轴的范围。可动画的。


这是一个错误还是我做错了什么?

最佳答案

SCNNode没有名为height的属性。这是您已分配为节点几何的SCNPlane的属性,因此这是您需要向其中添加动画的部分:

planeNode.geometry?.addAnimation(animSize, forKey: nil)


或者,您可以将动画添加到节点,但是将其keyPath设置为影响几何图形的高度:

let animSize = CABasicAnimation(keyPath: "geometry.height")
// ...
planeNode.addAnimation(animSize, forKey: nil)

10-06 09:02