微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在 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 举报,一经查实,本站将立刻删除。