Need help on gun effects

I’m not the best when it comes to ParticleEmitters or trails, and I kinda need help on a realistic gun visual effects.

Firstly, is it possible to create such twisted bullet trail by using the trail object? I’m not sure will any texture works:
https://gyazo.com/2685fbc393b4a9b7a6adb3a3d15d351f

Or a bullet trail that’s something similar to this?
image

Secondly, this is a really commonly seen bullet hit sparks, I found this from an upcoming game Undead Nation and I believe they used particle emitters but I’m not sure, how do I achieve such effects?

https://gyazo.com/545be15406331b5e89bc537d986ec876

1 Like

I am a gun nerd, and let me tell you what you are getting wrong about what you want to add. When you fire a firearm that doesn’t have tracer ammunition, it doesn’t just magically make a “trail” behind the bullet. When a bullet hits an object, it doesn’t always spark. If your hitting anything soft like wood, dirt, cloth, sand, etc, the bullet can’t hit any hard object enough to spark it. If it’s hitting steel, there still is a chance of it not creating a spark at all. If you didn’t know, bullets are made of lead. Lead is a super heavy, but also super soft metal. The second it hits something, it starts to break apart. The copper you see on the outside is called the copper jacket. Some bullets are jacketed soft points (JSP), jacketed hollow points (JHP), full metal jacket (FMJ), etc. Since both lead and copper aren’t hard metals, they won’t really spark on objects. In the last gif, it is far too unrealistic. A bullet hitting some sort of rock, concrete, or anything like that wont create sparks. It will break the concrete, create a small smoke show, and begin it’s day again.

I said this because I did not want you getting the information wrong, and I do not have tips on how to achieve these effects in studio.

1 Like

I got two things.

First off I’ll address the realism part. Yes, @adeformed_kidYT is correct in saying that all of those visuals are not things that you’ll find in real life. If you are going for real-life type realism then you may never even see the bullet trail unless you’re using tracers. HOWEVER, we’re talking about games here and most games are not completely realistic because that actually makes them less fun.
Having visual effects for weapons and shots can make your weapons more interesting and feel a lot more fun to use in your game. This is would be why games might add sparks even when in real life you’d never get sparks. They add visual feedback to the player that they hit something, where they hit, and it also just looks cool and makes the gun feel more powerful.

Secondly, on the topic of how you would create the trails:

Example 1: This could be achieved by using a wide trail that uses a somewhat jagged trail image. Trails also have the option to stretch or wrap(tile/repeat) the image they use. If you decide to wrap the image since you don’t want it to stretch too much or you don’t want to make a super long image you will also need to ensure that your image can seamlessly repeat.

Example 2: Similar to example 1; however, because the trail has straight lines you can easily opt for a simple image that stretches to fit the length and adjust the trail transparency options to have it fade out over time so it fades at the end.
If you look closely you’ll actually see that the center beam(s) appear to last longer than the outer beams. This could be achieved by using two beams, one for the inner part and one for the outer parts, and giving the outer beam a shorter lifespan and/or length limit so that it fades out before the inner beam.

Example 3: This effect can definitely be easily created using particles. You can set up the particle emitter ahead of time in a very small part and then give it a rate of 0. Then have a script that places a clone of the part where you hit and use the particle emitters :Emit() function to emit a specified number of particles all at once to create the spark explosion type effect. Just don’t forget to remove the part once the effect is complete which you can easily do using the Debris service.