Hello friends!
I’m brand new here as of this month and I’ve been super impressed by everyone’s work on this site! I couldn’t thank David Johnson more for bringing this place to my attention, I check for new posts probably more times then I should in a day!
I figured the best way to get involved would be to participate in this month’s VFX Sketch.
To get straight to it, my concept was to create a realistic gunshot particle effect, but with rainbows…
…definitely sounds way more awesome in my head than written out.
Also, I will be using UE4 to accomplish this effect.
I wanted to jump right into the FX, so my first thought was to purchase a decent enough 3D asset online. I found a wonderful model for it’s price ($2) on CGTrader. You can find the G-18 here yourself!
I then added a rig that would fit my needs for this project. It’s really simple but worked out perfectly.
I then created a quick material function for a rainbow effect I could easily apply to any particle materials I needed to make.
and here’s the texture I used for that:
Now it was finally time to create some particle systems. My first step was to create the muzzle flash itself. It is a relatively simple effect currently made up of 6 emitters; three for the flash, two for smoke effects, and one for some sparks spraying out of the barrel. here’s some of the materials used by those effects:
I attempted to make these materials as modular as possible, so I am able to create instances and tweak values to give the effect a lot of variation with minimal performance cost.
The second system I created was for the bullet casing. I’m contemplating changing this from a particle system to simply having the gun BP actor spawn physics actors that you could maybe play around with in VR. However, as of right now the casing is spawned by an anim notify just like the muzzle flash.
For my third system I decided to delve into GPU particles and vector fields and boy are they cool! I found an awesome program called VectorayGen that allowed me to quickly create simple vector fields. It was really easy to get in to, and functions similar to UE4 or Substance Designer’s graph editor. Here is an example of what you can do in VectorayGen:
I utilized a vector field to create a cool rainbow sparkle effect.
I of course had to add functionality to the gun for easy testing. So I threw together a script that allowed me to hit play, have a camera rotate around the effect, and fire every time I click. I also threw in a slomo button because slomo, you know.
I also used the level blueprint to attach the rainbow sparkles to the gun’s skeletal/vert location.
I can’t for the life of me figure out how to attach the particle as a component of the blueprint actor and still have it spawn from the verts, which is sad because I feel like I have done that exact thing on a previous project lol.
And here is where the effect is at as of today:
Still lots to do! I definitely need to take another pass at the lighting. I also want to have those muzzle flash cards fade out nicer in slomo. Also still need to add in the actual projectile. And of course I need to hear from you guys! Any feedback is much appreciated! If there’s anything I need to explain further please feel free to ask.
Thanks for scrolling this far