Swift / SpriteKit:如何创建水滴效果?

Posted

技术标签:

【中文标题】Swift / SpriteKit:如何创建水滴效果?【英文标题】:Swift / SpriteKit: How to create a water drop effect? 【发布时间】:2016-10-12 12:05:20 【问题描述】:

我想知道如何在 Swift (SpriteKit) 中制作以下效果。

我考虑添加一些 ShapeNode 并用 -yscale 1 填充背景图像。

但我认为这种效果有些不同,因为背景图像不只是水平镜像 - 它还具有一些图形效果(它以水珠的形状镜像等等)。

是用 ShaderNode 完成的吗?

有人知道我如何在 SpriteKit 中创建相同的效果 - 就像水珠一样,它们看起来像是在“相机”上,并且它们反映了“水珠状”的背景?

谢谢。

【问题讨论】:

这通常是(在 2D 中)通过扭曲背景副本并添加假高光和阴影来完成的。据我所知,这不是 SpriteKit 中可用的那种东西,而是在 Core Image 中。 话虽如此,大部分都可以通过新的 SKWarp 功能来实现。也许吧。 谢谢困惑。嗯,这听起来很复杂。我会尝试以某种方式对其进行编程 - 我认为这种效果看起来真的很酷。如果其他人有更好的想法,请在 cmets 中告知。 :-) 查看SKEffectNodes,在它和SKCropNode之间,你应该可以达到你的效果 【参考方案1】:

嗯,你可以创建一堆水图像并让它们随机显示在屏幕上的某个 z 位置,但是我认为这种效果是在另一个程序中制作的,比如 unity 或类似的东西,你最好的选择是创建透明水滴作为图像并随机显示在屏幕上。

【讨论】:

以上是关于Swift / SpriteKit:如何创建水滴效果?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift SpriteKit 在 For 循环中一一创建 SKSprite 节点

使用 spritekit swift 在 swift 中为游戏创建主菜单

Swift SpriteKit:创建逼真的 2D 驾驶体验

如何在 Swift 3/SpriteKit 中限制球的敲击?

无法为 swift Spritekit 创建暂停、重启和主页按钮对话框

如何使用 Swift 在 SpriteKit 程序中初始化/移动相机?