"True Explosions!" framework for ray based explosios. [Published. Free]

Check out the teaser:

AssetStore link

Hi!
My name is Michael Panin (aka @marsermd) and I am making a unity plugin for creating physical realistic explosions. I’ve watched official tutorials and I’ve looked into asset store and I am terrified.
The most popular way to emulate an explosion effect is to apply an explosion force to all objects in some radius, which is nice and easy, but not accurate.
For example if there is a wall between explosion center and some object, explosion force will be applied to this object though it shouldn’t.
I introduce ray based approach for explosions simulation. It doesn’t include complicated physics emulation, so it is not accurate as well. But it is much better than using OverlapSphere.
So. Let’s check out situations where ray based approach could be useful.

  • explosion on the one side of the wall and object on the other side. Check out my masterpiece:
  • explosion impact through reflection
  • explosion force which affects only part of an object

Okay. Now you know that I can… khem… Draw. But I have something done as well. Check out this video.

So I am creating a free explosion pack and I’d like to know: what do you think about it, guys? Should I add something? Maybe my particle effects suck (yes, they do ): ) Maybe I should add something?
In a few days I’m going to publish following pack:

  1. explosion script itself and an API to add effects onto it
  2. particle and light effects
  3. volumetric explosion graphics (pseudo, according to this article Easy volumetric explosion in Unity3D | Steven Craeynest) (half-baked)
  4. volumetric explosion, based on particles, fair calculated based on raycast info.(in plans)
  5. 2d explosions and 2d effects.

UPD 30.08: added volumetric explosions

UPD 02.09: have made an alpha version of a heatwave generation. It was harder than i thought.

UPD 12.09: finished the job and made a teaser;)

UPD 23.09: Released! Wow. True Explosions! | Particles/Effects | Unity Asset Store

You can follow me on twitter to stay tuned: @marsermd

2 Likes

What if your walls (floor, ceiling) can absorb some energy before becoming damaged themselves and passing energy through?

Many of us use destructible items.

Next: what if a section of wall is already damaged (by an earlier explosion or other thing) and only has a little resistance left?

H

HI, hopeful. Thank you for your reply.
Obviously, behaviour of my algorythm depends only on colliders, not meshes, so it will behave depending on colliders generation. AND my algorythm spreads explosion over time(as in real world). So if the wall is destructed/damaged in fixedTimeStep number n, explosion will affect objects behind the wall and generated wall parts in fixedTimeStep number n+1. I don’t have destructable items, so I can’t make an appropriate demo scene, but you’ll have the ability to play around after the release. The code will be included and won’t be obfuscated.
The energy absorbation is easy to implement because after the ray hits the surface, a new ray is emitted. At this place we could change the energy of emitted ray if necessary. But, I guess, the absorbation should differ based on some surface parameters. That’s what i don’t whant to implement because it’ll slow down the hole algorythm(every hit should get some info about components of the hitted mesh. It doesn’t sound like a fast thing). But, as i said, it is easy to implement.

Update: added volumetric explosions

Update: have made an alpha version of a heatwave generation. It was harder than i thought.

Sorry for the delay, guys. I’m in a hospital right now, so the work doesn’t go really fast)

Get better :S, by the way good work!

1 Like

Thanks)

Wow. That was hard. I’m standing on my own two feet again. I’m releasing a teaser video tommorow and trying to release my asset. Wish me luck)

2 Likes

Can’t wait, this is looking amazing so far and will be a great edition to a Game im making which needs realistic explosion’s! So glad I came across this :slight_smile:

1 Like

UPD: Teaser is ready!

Love it! Can’t wait for the release, one thing, how well is it optimized?

1 Like

Thank you very much)
Your qustion is not so easy to answer.
Speed of my physics implementation algorythm depends greatly on raycasting speed. And it depends on count of colliders in neighbourhood of the exploding body. There is no problem to explode about 500 explosives in a box at once though.
Moreover. The explosion is spread over time(as in real life), so the cpu consuming operations are well dispersed.
3d heatwave generation is an expensive operation, wich lacks speed. But it is well tweakable, so may be optimized in cost of it’s realistics.
2d heatwave is very fast.
Pseudo volumetric explosion is about 20 spheres that are scaled over time. With special shaders attached of course. It is as fast as moving 20 mid resolution objects around.
Particle effects are pretty basic and work really fast.

Thanks, that really helps :slight_smile:

Hell yeah! It is finally released! True Explosions! | Particles/Effects | Unity Asset Store

3 Likes

FREE?!?!?! Friggin’ awesome work.

Thanks;) Yes, it’s free. It’s my habit. When I join a community, I create something free and useful and check out the reaction.
P.S.
I’d love to see your review after you have used my plugin)

Thanks for this, looks amazing

The volumetric addition is also stunning looking

3 Likes

Thanks. I hope you enjoy using it)

4.3.4 here (gonna stay that way until after my next release … the coming month)