SceneKit:SCNView背景颜色的动画立即发生,而不是逐渐发生

时间:2018-03-10 03:19:03

标签: ios animation uiview scenekit scnnode

动态backgroundColor SCNView属性的动画会立即发生,而不是在指定的持续时间内逐渐发生。

以下是代码:

UIView.animate(withDuration: 0.5, animations: {
     self.sceneView.backgroundColor = UIColor.redColor
})

This question类似,但其解决方案并不奏效。具体来说,事先设置backgroundColor并针对layer属性设置动画效果没有帮助。

如何为backgroundColor的{​​{1}}制作动画?

1 个答案:

答案 0 :(得分:1)

改为更改背景材质的内容。这将为您提供完整的SCN材料对背景的权限,以及使用SCN操作为您所做的任何更改设置动画的功能。

https://developer.apple.com/documentation/scenekit/scnscene/1523665-background

更好的方式,我建议使用CAAnimation。来自文档:

  

您可以将动画附加到采用该动画的Scene Kit对象   SCNAnimatable协议,包括节点,几何和材料。

一般来说,材质的diffuseambient颜色将根据您设置光照的方式进行更改以对外观材质进行外观调整。