For example if I have a fence bars or hanging cables and anti-aliasing is turned on as normally, from distance these objects disappear. Can i set them somehow to be always visible? The project I started is without content so there is no fog that can overlap them or anything at all
When fine detail is smaller than a pixel, this is somewhat desirable (to avoid pixel flickering and ugly aliasing artifacts).
You could try alternate AA techniques, as the default TAA is quite aggressive - but you’ll might get ugly artifacts elsewhere.
You could also edit the final LoD with simpler details, so it’s visible at the required distance, but this might cause ‘pop’ issues as a downside.
Like a lot of realtime rendering, it’s a balance, and you’ll have to decide what you can live with.
I never learned from google what LoD means exactly? Also how can I configure the object to be always shown while in certain distance?
For thin wires and other geometry in the distance use the following nodes:
A = ViewProperty->ViewSize->InvProperty
B = Pixel Depth or Depth from world position
C = ViewProperty->“tan(0.5* Field of View)”
Then: ABC will give you a conversion to unreal units (centimeters) per pixel at the given depth.
Then, if you have a wire or other thin geometry, you can balloon it out with a vertex shader that clamps on that to ensure it spans at least one pixel in width instead of being subpixel. You can increase it to 2 or 3 pixels to make sure TAA won’t make it disappear.
Then compare how much you expanded it with how wide it was to begin with, and adjust the alpha according to that ratio (through translucency or dither temporal AA), so that it doesn’t visually get too prominent in the distance due to spanning more pixels than is physically correct.
The engine uses something similar for raytracing to determine the right mipmap level, since raytracing can’t use screen-space derivatives to tell how far a screen pixel spans.
Thank you very much I will try later. This method should work in all resolutions ye?