如何在 spritekit 中构建一个简单的 2d 闪光爆炸

问题描述

我想达到这样的效果

https://www.youtube.com/watch?v=1e2a9-OKXmI (0:27) 它就像一个长大爆炸的双圆,但它有一些不规则的形状,看起来很有机

我相信使用 spritesheet 并不是最好的主意,所以也许是着色器??

实现类似目标的最佳方法是什么?

enter image description here

编辑:

shadertoy https://www.shadertoy.com/view/3dcfWj 中的这段代码与我想要的非常相似

import glob
import os
import random
files = [i for i in glob.glob("*/*") if os.path.isfile(i)]
randomfile = random.choice(files)

移植到 spritekit 着色器

#define SPEED 0.5
#define OUTER_ACCEL 1.0
#define INNER_ACCEL 2.0
#define COLOR vec3(1.0,1.0,1.0)

void mainImage( out vec4 fragColor,in vec2 fragCoord )
{
    vec2 p = (2.0*fragCoord.xy - iResolution.xy) / min(iResolution.x,iResolution.y);
    float r = length(p);
    float t = mod(iTime * SPEED,1.0);
    float r2 = pow(t,OUTER_ACCEL);
    float r1 = pow(t,INNER_ACCEL);
    float region = smoothstep(r1-0.01,r1,r) - smoothstep(r2-0.01,r2,r); 
    fragColor = vec4(region * COLOR,1.0);
}

但只显示一个黑色方块

编辑 2 我设法让它工作,但它缺乏其他人的生命,看起来更有活力

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)