Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sprite kit 使用spritekit创建霓虹灯颜色的形状_Sprite Kit_Skshapenode - Fatal编程技术网

Sprite kit 使用spritekit创建霓虹灯颜色的形状

Sprite kit 使用spritekit创建霓虹灯颜色的形状,sprite-kit,skshapenode,Sprite Kit,Skshapenode,您将如何创建一个逼真的霓虹灯颜色的SKShapeNode?我的最佳尝试涉及多个重叠形状节点,使用连续较少的glowWidth和增加的strokeColor亮度 这可以达到这样的效果 这个解决方案是令人满意的,但它的性能比预期的慢,我主要通过将SkShapeNode渲染为SKTextures并使用SkSpritNode来缓解这一问题 我相信通常这种效果是通过使用bloom特效来实现的,我在其他环境中看到的例子在视觉上看起来更出色,SpriteKit中是否有使用或模拟bloom质量霓虹灯效果的方法

您将如何创建一个逼真的霓虹灯颜色的SKShapeNode?我的最佳尝试涉及多个重叠形状节点,使用连续较少的glowWidth和增加的strokeColor亮度

这可以达到这样的效果

这个解决方案是令人满意的,但它的性能比预期的慢,我主要通过将SkShapeNode渲染为SKTextures并使用SkSpritNode来缓解这一问题

我相信通常这种效果是通过使用bloom特效来实现的,我在其他环境中看到的例子在视觉上看起来更出色,SpriteKit中是否有使用或模拟bloom质量霓虹灯效果的方法

更新:

使用一种类似于泰斯建议的方法,我能够获得一种更具活力的效果


首先警告:请注意SKShapeNode存在一些内存泄漏

为了达到一个很好的绽放效果,我会在两个形状节点上叠加相同的光晕。然后我会将它们的blendMode设置为addition。然后,我会让第二个节点在第一个节点之后缓慢地跟踪。您可以通过子类化SKShapeNode并覆盖“setPosition:”来实现这一点。然后用新位置和旧位置的增量乘以某个因子来偏移子SKShapeNode,这就得到了尾随


霓虹灯效应与视网膜的后遗症有很大关系。所以为了让它看起来像霓虹灯,你通常会做一些拖尾效果。您无法直接访问spritekit中的着色器,因此您必须以某种方式手动执行此操作。

谢谢,我将很快尝试此操作。至于你的警告,我已经看到探查器报告的泄漏路径。当然,我不能排除我自己的错误,但我已经在适当的地方发布了路径。LearnCos2D->当你可以启动仪器并自己查看时,为什么需要一个源呢?:)我喜欢这种效果,我认为有更多的时间来进一步调整它,我可以使它更好。谢谢