How to make a great fireball using the particule system?

Hi all,

(Was not sure where to post this, but as there are no other posts on this subject…)

Currently working on spells and effets for my project, and was trying to make a great fireball spell effect.

Heres my first take: (use space to launch a fireball)

Not quite sure why any fireball past the first one is not working though?

Any advice on improving it? Epecially the impact part, it’s hard to get right.


because you were disposing the texture!


Thanks @Pryme8

Holy… this topic just took me back 7 years and on a hunt on the old forum for a PG :joy:

made this in 2016 ( keep in mind :smile: )

I used to have a whole system with impact explosion and everything, never did put it in a PG and i fear it was on a harddisk that bricked, i’ll have to check up on that when i have time!

Love yours, the tail is a little bit too choppy for my liking though

7 year’s. Damn, they where not lying about babylon being backward compatible :slightly_smiling_face:

Your example fireball looks great!

For the impact, I was looking at this link:

So you can do things like create custom sprite sheets with a procedural texture, have them animated (looking like fire).

Link that into an SPS and create more dynamic particle effects. ← The procedural Texture ← The SPS to use the effect

This is not the best example of a fireball, but this process will get you closer to the desired effect I would assume.

1 Like

I really appreciate the answer, but your example is way above my pay grade, I would not even know where to start :exploding_head:.

I found the ‘targetStopDuration’ property, which does help achive a slighly more realistic impact effect:


I have never seen this technique mentioned on the forums here but i saw this , which looks great for top down cameras like your game. I did run the godot app and zoom in close, it wouldnt be good for fps.

1 Like

SciFi Blaster gun! Awesome!

How do you come up with this stuff? Seriously, do you wake up in the morning thinking Vec3’s and floats? This stuff is mind boggling to me but I can’t look away…

    vec2 p = vUV*UVSPLIT;
    vec2 cell = floor(p);     
    float idx = (cell.x+(cell.y*UVSPLIT));       
    p = (p-cell)*2.0-1.0;       
    float totalA = 0.0;
    float framePos = idx/FRAMES;        
    vec2 fp = p*3.0;
    float flow0 = flow(vec3(fp.xy,framePos*16.), time);
    float flow1 = flow(vec3(-fp.x, fp.y,framePos*16.), time);

    flow0 = min(flow1, flow0);

    float d0 = distance(p.y+flow0, -1.5);    
    totalA = smoothstep(0., 1., d0);   

    float d1 = distance(p.y+flow0, 0.9);    
    d1*=pow(d1, 0.0001);
    d1 = smoothstep(0., 1., d1);
    totalA = min(d0, d1);
    vec2 np = p*6.0;
    float n0 = noise(vec3(np.y+time+framePos*60.,  np.x, time));
    float n1 = noise(vec3(np.y+time+framePos*60., -np.x, time));

I’m just a monkey hitting keys my friend <3

FireBall = sun :slight_smile:

1 Like

FireBall moving

1 Like