如何在 SKScene 中的某些 SKSpriteNode 上制作 Hazy/Cloudy 效果

how to make a Hazy/Cloudy like effect over certain SKSpriteNodes in SKScene

我想创建如下图所示的 hazy/cloudy 效果(朦胧效果似乎适用于前面的游戏角色以外的所有内容),以便我可以为关卡计时使用操作的混浊度。我感兴趣的是它会影响某些精灵,而不是所有精灵。

实现此目的的最简单方法是创建一个全屏大小的 SpriteNode,并用白色填充。将它放在所有其他节点的顶部,除了您不想褪色的节点。

因此,如果您有节点 A、B、C、D、E 和 F,并且您希望除 F 之外的所有节点都被淡化,并且用户的屏幕在右侧...像这样:

A、B、C、D、E、[白层]、F -> viewer/camera 此处。

白色层的不透明度不能是 100% 不透明,因为如果是,除了 F 和白色层之外你将看不到任何东西。因此,通过 SKSpriteNode 的 alpha 值将白色层设置为大约(在本例中)33% 不透明。 1 是完全不透明,0.33 是 33% 不透明,或 67% 透明 ;)

另外一个提示,你可以改变节点的混合模式,Additive 混合模式是最好的,但 normal 也很好。