Mushroom Cloud, proper way of doing?

Hey guys, curious as to how if you had to implement a Mushroom Cloud (Nuke) explosion for a game, what is the way you’d go about doing it?

Right now I’m using Particles, and I’m just not satisfied with it (Could just be my lack of Particle experience)… Like if you look at some nuke explosions, you can pretty much see Normal Maps on the dust, some dynamic tesselation that deforms the body of the nuke, etc.

I’ve tried using a mesh that does just that (dynamicly moving verts in and out) like mentioned about, but then it comes to being the mesh looks to forced and not legit.

I mean don’t take me wrong, my nuke doesn’t really look bad, it just doesn’t look real/proper either.
Here’s a short video of what I’ve done with my nuke. (yes I am aware it needs a massive particle overhaul).

Video (There is sound)

So maybe I am missing some important step (or perhaps) I am just being to picky and it looks in fact fine. I just personally feel like it’s not good enough, and could be better and done entirely different than using particles. (At least the main base explosion)…

I’d really like to understand how they did the explosions from the Butterfly effect demo movie they made, but I don’t understand the first thing about Raymarching and such.

Yes I know how real explosives work (I went to school about explosives). I just can’t think of a way in game to do it. So I’m just curious if you were to make one, what would you use to make it at least look semi-believable. Or does mine in fact look fine outside of a few aesthetic changes I could do to it.

You need to study the anatomy of a mushroom cloud more. Just about every motion is wrong. Either the cloud should be moving upward, or it’s a vortex ring and stays put. Mushroom clouds are giant masses of convection currents and don’t diffuse out like that. Also, nukes don’t need to explode that low to the ground and tend to be pretty high (commonly about the mid point of the cloud, give or take).

Otherwise it’s just that the particles need work… so basically everything, I guess.

Just thought I’d point out that any sufficiently powerful explosion is capable of creating the mushroom cloud. Wikipedia has a brief explanation of the physics behind it. Don’t know if that will be any help to you or not though.

https://en.wikipedia.org/wiki/Mushroom_cloud

You need semi-transparent particles that glow within their cracks. If you’re doing with particles. Right now you’re obviously trying to put additive particles there, it is not gonna cut it, even if there’s billion of them.

You need alpha-blended transparent particles (could be premultiplied) like fog, but with glow. Meaning “One, OneMinusSrcAlpha” or “SrcAlpha OneMinusSrcAlpha”. To make them glow, you’ll need to shoot up their colro values past 1.0 range and render them onto floating point buffer then slap post process onto them. The nuke is mostly smoke. Not fire. Particles would originate from from the center of mushroom’s “stalk” half of them will fall down, another one will rise up, forming cloud. They should be very big, smoke-like and they should rotate.

1 Like

@RockoDyne : Yeah I know how they explode, I just haven’t gotten to the point if where it should explode, just trying to work on the particles.

@Ryiah : But this is my problem, I don’t fully understand how to make the particles do just that. Every explosion tutorial I’ve found is for common things, E.G. Grenades, Dynamite and such. Which only show the main Primary explosive.

I can’t find any tutorial or process on making particles work like a Mushroom cloud. I know physically how Mushroom Clouds work, just the process of making the Particle System do just that is where my issues are at. Like should it be 10 particle systems, or 1 particle system, maybe 2- 3. Right now the one in that video is like 8 particle systems. An dhonestly not satisfied with it… The second I start messing with some of the controls to adjust them, I feel like it rather limits what I can and can’t do.

(OR),

if there’s an entirely different way of going about it that can do it without particles in a way that makes sense.

@neginfinity : You are absolutely right I was using Additive, I’ll look into making a shader to handle all that stuff you mentioned. Yeah I know most explosives don’t really show any fire or anything, that’s generally a Hollywood movie trick with more fuel than actual explosive, I mean I might have went to school on explosives, blew cars up an such, but most explosives you don’t see anything but expanding rapid fast gasses. But never personally blew up a nuke haha. But every nuke photo I see is generally like this https://www.planetdeadly.com/wp-content/uploads/massive-nuclear-explosion.jpg Which more like fire than smoke to me. (Unless that’s smoke with bright light in it) that gives the appearance of red.

This should help you:

https://simonschreibt.de/gat/fallout-4-the-mushroom-case/

3 Likes

You aren’t making a photo, you know?

https://www.youtube.com/watch?v=qjnm3V0xYjI

Here’s some more footage. (ignore the announcer)

https://www.youtube.com/watch?v=tlVPYsix9Z4

https://www.youtube.com/watch?v=5gD_TL1BqFg

Basically, while the mushroom cloud glows for a while, the key to “nuke” appearance is dust below which doesn’t glow and forms mushroom’s “stlalk”. Also, mushroom cloud fades out with time.

I’m positive I could make this effect in UE4 fairly quickly, or in unity if it provides proper postprocessing effects.

IT won’t look like a nuke without swirlng lit clouds.

There is an asset in the store called detonator pack. If I recall it has a decent looking mushroom cloud.

I would use a combo of meshes with animated textures and particles. Then use either lights or flare / overlays for the light effects.

Non artist thoughts, take with a grain of salt.

Some of it has to do with your perspective. You seem to be viewing the cloud from much too close. Some better camera angles might help.

Explosions go through several well defined stages. You might want to investigate those.

  • A flash of light, caused by the actual energy of the explosion, travelling outwards at the speed of light in roughly all directions
  • The initial shock wave, travelling out at the speed of sound radially
  • The fires storm that starts off as a ball, but spreads itself into a cloud
  • The dark mushroom that hangs around for a while
  • The radioactive fallout afterwards

In all your effect appears much to fast. You want to slowly go through these stages, letting the player experience the horror and power of the destruction as it occurs. And then you want things to linger on for a while. You don’t want it to all disapear and be done. As with all art, its not just about getting the physical appearance right, its about transferring the feel.

This may also help for reference

4 Likes

Although I agree with what you wrote, if I remember correctly, Fallout 3 pulled off good-looking but quick mushroom clouds when you’d blow up a car engine.

When I realized that, I ran around shooting every car engine I could find. :slight_smile:

1 Like

Did you continue working on this? I’m currently wondering if I should experiment with mesh-based smoke/explosions, or if that would be a waste of time.

I finally gave up, so now I’m trying to make volumetric particles like fumeFX for 3ds max… If it doesn’t even slighty look realistic i don’t want it. Its not going to be easy, but then ill have what im looking for. And im sure what allot of devs would like… Unless you can find some tutorial on Unity that can make and actual decent mushroom cloud that dont look super fake. I can’t find any actual tutorials whatsoever. Im speaking more in terms of the actual textures.

When it comes to texture tutorials I think you’ll need to exclude “unity” from your search parameters. I’m sure there are several tutorials on mushroom clouds for Blender, Max, Houdini and others. I just stumbled over this one which may or may not spark some idea for you:

https://www.youtube.com/watch?v=Q_-LrvzhBhM

Keep us updated on your progress, explosions are always an interesting topic!

2 Likes

Alright, I jury-rigged a shader and gave it a try.

Here’s the rough idea:

Reference:

Here’s how it works:

  • Blend SrcAlpha InvSrcAlpha
  • HDR on.
  • Bloom + Eye Adaptation/Tonemapping
  • Simulated lighting on particles - skylight + glow light.

Basically, If there are no shadows, it doesn’t look like a mushroom cloud. Meaning it is always affected by skylight and all particles must be lit. If they aren’t lit, it looks bad.

Glow (in a real nuke) originates from within top of the cloud and from within step of the “mushroom”. Meaning you can just simulate a point light being there (i.e. manually calculate lighting from within the shader) and make sure brightness is massive. With very high brightness value, “glow” will shoot through massive amount of smoke, and tonemapper + bloom will take care of the rest.

By the way, the whole thing looks like It might require custom particle system to be done properly. Unity doesn’t expose enough particle data to the shader…

In order to be done PROPERLY, it would probably need some sort of approximated volumetric rendering, so the particles will be shaded.

2 Likes

I felt this was a solved problem with that Fallout 4 analysis…

Well, there’s usually more than one way to do something, and this is something I wanted to tinker with.

1 Like

Yeah, I didn’t mean it the way it probably sounded :slight_smile:

Speaking of which, after tinkering with unity’s cinematic effects it was disappointing to find out that they don’t provide postprocess-based lensflare, like Unreal Engine. This one can be annoying, but can make scenes more convincing, easily.

It’s one of the best I’ve seen so far, but no one has implemented it to that quality in Unity yet (afaik), and I’m also hoping that even better looking effects can be achieved.

@jack-riddell maybe this would be a nice showcase for one of your assets?

Why not use the halo-based lensflares that unity has? I’ve never got really good results out of post effect based lenseflares like in Scion. In UE4 games I sometimes find them annoying as well.

Working on explosions is always a good way to procrastinate:

Personally I’m not really after “nuke”, I need big explosions somewhere from rocket- to bomb-sized. I’ve found quite a lot of reference material on youtube, but it always leaves me depressed watching that kind of stuff. We live in a weird time where you can just go online and watch 1080p hd videos - with often scary high production values - of people killing other people with things that go boom. All ready to be consumed from the comfort of our homes, to subsequently imitate in our games about people blowing up people…

1 Like

Because they’re not as good.
UE4 generates lensflare based on brightness of objects in scene. Meaning a shiny spot on a sword can generate a lensflare, for example.