我有一个泛光灯(Omni类型),我希望它是一个小动画。更确切地说,我想模拟一个文件中的光,所以我希望它的值是attenuationStartDistance改变的,对于color也是一样的。所以,有没有办法在光照下运行这样的序列它是自己,或者我必须找到一个小技巧来做到这一点?

最佳答案

检查文档:
attenuationStartDistance:与光的距离,其强度开始减弱。可设置动画。
...
可以设置对此属性值的更改的动画。见Animating SceneKit Content
对于连续动画,可以执行以下操作:

let flicker = CABasicAnimation(keyPath: "light.attenuationStartDistance")
flicker.fromValue = 100
flicker.toValue = 110
flicker.autoreverses = true
flicker.repeatCount = .infinity
lightNode.addAnimation(flicker, forKey: nil)

10-08 08:59