在 SceneKit 中给对象上色相当于什么?

What is the equivalent of colorizing an object in SceneKit?

如何为 SCNNode 的颜色变化设置动画?在 SpriteKit 中我只会使用 colorizeWithColor SKAction,但在 SceneKit 中这不是一个选项。在 SpriteKit 中,我通常会在两个节点之间发生冲突。当节点发生碰撞时,其中一个节点仅通过 运行 和 colorizeWithColor SKAction 改变颜色。对于 SCNNodeSceneKit 中的这个等价于什么?

您可以使用 material 的 multiply 属性 来达到类似的效果。您可以使用 SCNTransactionanimationDuration 属性.

设置淡入淡出长度
SCNTransaction.begin()
SCNTransaction.animationDuration = yourFadeDuration
geometry?.firstMaterial?.multiply.contents = yourDesiredColor
SCNTransaction.commit()