Best approach to create a flash effect

Hey guys, I’ve just started to learn and create Realtime VFX recently. I am trying to recreate on Unity a “flash” effect, that I saw on this artStation post;

I was thinking that I could draw a texture for the flash anda attatch it to a plane, then change it’s color, size, etc, during the particle lifetime, is this a good way to approach this? I would appreciate any kind of advice, tip or direction, thanks!

That’s a good way to do this, yes. Unity doesn’t have a lot of good options for making particles that face a specific direction so whenever I want to achieve something more “volumetric” I make a piece of geometry and use it for my particles. You probably also want to make an alpha dissolve shader, possibly, maybe.

Alpha dissolve is simple. Normally you take particle alpha (vertex colour) and multiply it by texture alpha: finalAlpha = particle.a * texture.a

With dissolve you do this instead:
finalAlpha = saturate(texture.a - (1.0 - particle.a))

It will give you this “edges being eaten away” look when you change particle alpha.

1 Like

Thanks a lot for the directions @michalpiatek!
I’ve been trying to make the dissolve shader for it, not sure if I am getting somewhere though, having a hard time saturating it.

Saturation is the same as clamp 0-1.