The weapon asset used in this project was entirely made by Theodor Gerhamn.
I made this weapon fireable inside Unreal Engine 4 by using blueprints together with effects to better understand effects from a game designer's or programmer's perspective.
This scene includes effects such as muzzle flashes, bullet impacts, heat effects and shell ejections.
When the weapon stops firing and has gotten warm enough, whispy trail particles will spawn until the weapon cools down.
Another heat-based effect is the heat haze. When the barrel warms up refractive particles start spawning until it cools down again. |
The gun will fire when you hold the left mouse-button, spawning muzzle flashes, ejecting empty casings with physics and, if you keep firing, the barrel of the gun will eventually heat up and display a couple of heat effects.
A raycast is fired and will spawn different bullet-impact effects depending on what type of material it hits, using both decals and particle effects.
The heat-up effect was mostly a matter of making blueprints work together with materials and particle effects. I made a heat variable that controls when the glow will appear, and when heat-haze particles will start spawning. The whispy smoke detects when the weapon is not firing and is hot enough to be visible.
I first used mesh particles for the ejected casings, a certainly cheaper option in terms of performance, but since Unreal does not calculate motion blur for mesh particles, and limits the visual fidelity when they hit the ground, I chose to use individually simulated physics objects. the whole thing is set up with another blueprint. |
This flipbook texture was made for some of the bullet impact smoke effects in Houdini. |
The bullet impact textures were made in Substance Designer.
Muzzle flash shapes were painted in photoshop. They have a gradient alpha to improve the look of alpha-erosion inside UE4. |