Creating an Interesting "Tracer Ammunition" Effect

Hello! I’m coming here to seek some guidance in how to make this Tracer Ammunition work. In this post I’ll try to explain my problem and some possible solutions I’ve found, but any of it works properly like the example

First of all, the Effect I’m seeking is the Tracer from UT 2004, more precisely the Minigun


2:22

That’s a nice example that I want to make. So I opened the UT4Editor (the most recent UT) to see if the Tracer in the minigun works like that, but no. It’s just a simple Beam that goes to point A to point B, not a nice bullet travelling to the end.

0:43


The effect I desired should be simple to reproduce, but no I guess. The I tried 2 different approaches

Example 1: Mesh with Emissive

The most simple, Creating an egg shaped mesh scaled in the X vector to simulate the Tracer ammunition flying, giving it a sensation of speed, and a glow emissive

But It creates a problem with the bullet speed when I move to the sides. It gets strange if the mesh travels in the air for more than 1 second. And if I add more velocity for the fake projectile, I can’t see it coming off from the muzzle.
I tried to put a Ribbon in it to see some good lines coming from it, but in the end it looks like a line coming out of the Muzzle, not a Bullet

Example 2: Beam Particle with a Scrolling Texture

Then I tried to replicate the Minigun Tarcer effect from UT 2004, creating a Beam Particle (I think it’s the same thing)
My approach should be simple, create a Dynamic Material that controls the Panner time and access it in the Cascade, but it doesn’t work. Somehow the Dynamic Parameter doesn’t work with Beam Particles.
So, how can I control the Panner? Since I can only the Particle Color node inside the Cascade, I just simply working on that like a Dynamic Parameters.

But in the end I need to create a very specific bullet texture to see it coming from the barrel, I can’t really control the distance between Source and Target (The bullet looks ok from far away, but if I shoot a wall with 2 meters of distance I can see the texture Squashed and slowing scrolling out) and sometimes I can’t really see the texture exiting the muzzle.


After trying to fix these problems with no success, I came here to show my work so far and ask if someone could help. Much appreciated.

Ha! I’ve found a decent solution, I’ll explain my solution:

First of all, the Particle Effect I want to create is just for cosmetic reasons to feels good in the First Person Camera. I’ll not consider it appearing in Third Person scenery.
Oh, and I forgot to mention what king of armament I was trying to reproduce lol. It was the Gundam CIWS weapon, located on the side of the Head (the temples) Here’s a video:

00:11

After thinking about the problem all night long, I’ve got a pretty solution. I select to improve the Beam Particle Example.

1: The source point relative to the camera was too close, so when I move the character while shooting, the projectile appears to be spawning inside the head of the character, not de sides, so I got a decent distance between them (Note that my weapon is not appearing on the screen, I just need the Muzzle Effect and the particle travelling through space)

2: I was using a not so good texture to make it scrolling. It was a Square with a squased ball in one of the sides. so I changed to a better one with some RGB channels to create some color and intensity variations AND, most importantly, I changed the size of the texture from, 512x512 to 2048x512, so I dont need to squash the Image.

Imgur

3: Since I’m working in a controlled environment, which is related to First Person Camera bounds, I just need to set a Fixed length for the Beam Particle for better looking and adjust the Beam Particle Rotation, but it creates another problem

4: Now that I have a texture scrolling all the way to the end of the Beam Mesh Spawned, I need to control the distance where the bullet stop. If I adjust the fixed Particle Length (Or the “Target” inside the Beam Emitter) to the target, the texture scroll is slower and it gets a strange feeling. If I do nothing, the bullet will pass through the target. AND THE MAIN PROBLEM is that I can’t use the Dynamic Parameter in a Beam type Emitter. God it hurts so bad.

Imgur

Then I created inside the Material a SphereMask with PixelDepth with the Radius Parameter exposed.

Imgur

I can control the Scrolling by using the Color Over Life node, in the R channel, using the lifetime of the particle, so I need to do nothing in programming to get the visuals, but if I transform it into a Parameter I need to program the scrolling and the other value.

SO every time the particle spawns I create a Material Instance, and change the Radius Parameter related to the target to “stop the bullet” (It’s just a mask using the camera distance). Then I access the Particle and change the Material to this one.


I hope I can help someone with it. Cheers. But if you have another solution to It, feel free to discuss.