Materials fading away in distance, why is this happening?

Please see this video and watch in HD

I’m trying to make a laser gate/fence that stays visible in the distance because I have flying vehicles, but no matter what I try, regular emissives & mesh’s, beam particles, they all seem to fade away when the camera gets far away. Not just the bloom, but the entire color fades away to nothing!

In the video im using a simple emissive material with mesh’s and at 1:17 I try using beam particles showing the material as well, but it has the same problem

I tried changing post processing settings, bloom anti-aliasing etc, Can’t even seem to make tron style buildings / floor’s show their color either without fading away! Also I’m trying to keep everything dynamic and not bake light because I have alot of moving objects in my scene that use these effects. Is there any way to fix this and how can I go about it?

This is because bloom occurs after temporal anti-aliasing, and the area of your models that is glowing averages to less than 1 texel in any dimension in the screen buffer and becomes erased or made too small/weak by temporal AA for the bloom postprocess to consider it for bloom. In an alternate dimension where you were using a different engine instead of UE4, and some other AA method like SMAA or FXAA was being used, you would get bright fireflies/hotspots and flickering on your bloom instead of having it fade out smoothly. So this is not a problem specific to UE4.

You must make the area of your meshes that you want to glow larger so that it occupies more pixels/texels on screen. You should also make the bloom less intense so that the larger area does not cause the effect to overpower the whole screen.

The effect you are trying to achieve is definitely possible – I’ve done it myself before. Just make the area that should glow slightly larger.

Thanks for the answer! But if I’m trying to make laser gates/fence’s and areas that have small emissive details like the sides of hallways, would the only real way to go about it be to create LOD’s with the emissive colored parts being really big in the distance LOD, and then the lod’s will switch to a mesh that have smaller parts when closer?
I’m not sure if this will help with the laser fence/gates though…

I think you can’t rely on LODs to work well for this case because the transition points will look weird and may cause popping artifacts.

Hmmm. Can all of your emissive things be represented as linear paths? If so, here’s what I would do:

Create tube meshes (either using your 3D DCC or using spline mesh component) for all of your emissive details. The tube should be pretty thin, and its vertex normals should 100% smooth. In the material for the tube, you do something a bit tricky: you will get the surface normal, then project that into screen space, multiply that vector by some scalar to get an offset in pixels, and then reproject that vector back into world space. Then you take that vector and plug it into the WorldPositionOffset output pin of the material.

This will basically ensure that your pipes are the same thickness no matter how far they are from the viewer. I don’t know if you know how to do all of that, but I can try to give making the material a shot tomorrow if I have some free time.

That would be really awesome if you could make this material, I have no idea how to create all of that, but it sounds like something that could solve this and be extremely useful!

1 Like