Textures still rendered blurry when viewed from a distance

The textures are still blurry even after setting the Mip Gen Settings to Sharpen6, Never Stream checked and Filter to Tri-Linear.
Are there more settings that can be changed to improve the quality of the textures when viewed from a distance?

Kind regards,

Hello ,

From what you describe you are seeing textures appearing blurry at a distance. To clarify I would like to ask you a few questions that will help me better understand your issue.

1.) Can you link me your DxDiag?
2.) How far in the distance are you trying to see these textures?
3.) Have you looked into LOD’s and rendering Higher resolution layers of an LOD system the further you are away from that object that has your texture on it?
4.) Do you have your Engine Scalability settings set to EPIC.

After I have this information I will continue to investigate this issue.

link text

Thank you , for your quick response.

These are my answers to your questions:

1:
See attachment

2:
I want to look at products on shelfs in a store. I want to see multiple shelfs at the same time and to see them all I have to stand approximately 3 meters from the shelfs.
The textures of the product get blurry if I look at them from that distance. The products itself are 20 centimeters wide and tall.

3:
Could you explain this in a bit more detail?
How do I have to apply this to the textures or meshes in Unreal?
What settings to use?

4:
I did already set all the Engine Scalability settings set to EPIC.

Kind regards,

  1. Your DxDiag reports your system specs. Things like amount of RAM your computer has and your current Video drivers and when they were updated are reported with this tool.

What I need you to do is go to your Start (Little Windows Icon) > In the Search bar type DxDiag > Click on the icon Labeled DxDiag > This bring up a window with the report > There is a button to Save All Information > This saves this report as a .txt file > save that and link it here please.

  1. If you are only standing 3 meters away I don’t think this is an issue with the engine as typically this does not become an issue until several thousands of meters away.

  2. LOD’s refer to Level of Detail. For instance you can set up layers that calculate the distance you are away from an object. At a further distance you may want to call a more detailed texture as to not lose the amount of detail when backing away. If you stand away from your computer you will have a harder time seeing an 512 x 512 texture as apposed to a 1024 x 1024.

This is a link to our documentation on LOD’s and how they work within UE4.

Could you also link a screenshot of your Shelve’s where the textures look blurry from a distance.

Thanks,

[link text][1]

  1. My DxDiag (see attachment).
    Most of it is written in English, but some words are in Dutch, since I come from Holland.
    I do think that you will understand enough of the document.
    My laptop is already a few years old and will be replaced shortly, but I thought that the textured should be able to render sharp even on my laptop. Since that are rendered sharp at a short distance. But this could be a wrong assumption.

  2. If this is true, than indeed it should not be an issue to look it from 3 meters.

  3. I do understand the basics of LODs and how to switch to a different mesh, less detailed one, if a mesh is further away from the camera. Due to performance.
    But I thought that as default the mesh and textures are always rendered at the highest level and that you manually have to set less detailed textures and meshes if they are further away from the camera.

At the moment I do have a 256x256 texture on the products and this looks sharp up close.
Do you mean by setting up layers that calculate the distance you are away from an object, that the object up close must have a material with a 256x256 texture and another material with a 512x512 texture if the mesh is further away from the camera? This sounds contradictory. Since the mesh covers less pixels on screen.

If I only have one mesh do I have to uncheck the Auto Compute LOD Distance in the LOD settings of the mesh?
This is checked by default.

I don’t know if the solution to my problem lies in the mesh setting or the texture setting. Maybe it is a combination of the two.

Furtthermore, I also attached a screenshot of the shelve’s with products

Could you try turning off Anti-Aliasing in your post processing settings? I noticed some “blur” coming from that as well.

If turning makes your scene look sharper there is not much you can do about it besides implementing a custom AA.

  1. You DxDaig falls within recommended specs for developing with UE4 (So no Worries)

  2. LOD’s can be used in a number of ways. One way, as you described, is to have less detailed modes the further you are from that model in order to reduce draw calls and intensity of your game. However, take a coke can or whatever with some writing on it, and then stand three meters away from it. You will notice that the letter, depending on size color etc, becomes less and less detailed the further you are away. For something with a 256 x 256 texture up close the image will be legible, but the further you are away from it the less detailed that image will become. So, what you can do is create a 256 x 256 for close viewing then when you stand 3 meters away increase the detail to 512 x 512. This way a more detailed image will be drawn giving more legible definition to an object at a greater distance.

If you don’t have any LOD’s you should be fine with auto compute LOD’s. However, you may want more control in the future. In that case you might want to disable that and import your own.

I believe your issue lies more within the textures themselves then the actual mesh.

Sorry for my late response and thank you all for the suggestions, but unfortunately it did not solve the problem yet.

If I changed the textures size from 256x256 to 1024x1024 but there is no difference in sharpness.

Furthermore I added a roughness map to the material but this did not change anything noticeable. So, therefore I just use a value between 0 and 1 for both roughness and metal (when needed)

The mesh itself has no LOD’s at the moment.
The Streaming Distance Multiplier is set to 100, 1000, 100000 and even 100000000
(but none of these made a difference)

But unfortunately, the problem is not solved.

Any suggestion?

I attached another screenshot to make things more clear (I changed most material from masked to opaque to improve the performance)

Kind regards,

So, one thing that is standing out to me is that I do not see any shadows within your scene. Furthermore I don’t see really any lighting either. Are you in UNLIT mode in viewport? Materials will respond to lights. In a scene void of light you are essentially not giving these materials anything to derive their data from. I.E where to reflect and what not.

If you still don’t see a change after this then I’m really not sure what is causing this. If you would provide a link to Dropbox with your .uproject and your “content” and “config” folders I will then attempt to reproduce this on my machine using your unique project. Nothing comes to mind without having eyes on what you are doing with your project.

If you do not feel comfortable posting here you can send me a private message on the Forum. This is done by going to our Forums and clicking on the Advanced Search Tab. Type in my name in the User Name tab.

Try changing the mipmap bias in your materials

Hi Psychogony, I changed the mipmaps bias in the materials, but without any luck. The result was not sufficient enough. Thank you for your response.

, it is true that there is no lighting in this part of the scene since the meshes are placed at the beginning of play via a data table. That way we can create levels or stores for example based on a CSV file, and don’t have to manually place meshes and assign materials. This is true for the shop interior. The exterior of the store is at the moment placed by hand and are lit.
The textures on these object have the same issue as the products that you see on the screenshot.

I am doing this project for a client so I have to consult them to see what I can send your way.
I really appreciate your help, so I will find out what I can send and hopefully we can solve this issue together.

Hi ,

I have sent you a private message with a link to the Dropbox folder.

I have looked at your project and I believe I see what the issue is. Each of your textures are made at a scale of 256x256. This is an acceptable scale for textures. However, it is also the smallest acceptable scale that is typically seen within a game. This will yield the smallest texture resolution possible. As a result, the further you move from the texture itself, the quicker you will lose resolution. Even when increasing resolution you can only fit so many pixels into a finite space.

Unfortunately this also means that increasing the scale from 256 to something higher on your original texture will not solve this issue either. This is because you are taking a texture that was made in a certain space with a certain pixel density and stretching across a much larger space. This will stretch and blur your image because now everything is called with more pixels.

This is the way that pixels work on screen and is a rule that must be considered when making your textures. Making larger textures and then shrinking them down is a proper workflow. The only fix for this is to remake these textures at a higher scale.

At a certain distance, no matter what texture size you have, the image will start to blur due to buffering and is expected. This does not happen until very extreme distances such as tens of thousands of meters. The textures themselves do not look unacceptable to me at 3 meters, but as you stated this is unacceptable to a client and you are looking for a crisper image. The only way for you to achieve better resolution at a greater distance, now that all other options have been considered, is to remake these textures at a resolution higher than 256. My suggestion if you want crispness across the room is using 1024x1024. This will decrease your fps as you will be drawing a higher resolution texture, however, changing the LOD of your material so that when you are further than 3 meters the LOD will change a lower resolution should help with this.

Let me know if you have any further questions.

The original textures that I made were 1024x1024 pixels and I changed/scaled them to 256x256 for use in Unreal. I realize now that I did not explain this clearly enough before. But the workflow that I use is to create a larger texture and scale it down.
These textures have a resolution of 72 dpi.

If I understand you correctly I have to increase the dpi or ppi (this is the same, right?)
So for example I make a new texture with a resolution of 102x1024 pixels with a dpi of 150 or even 300 and use that for the products when you look at them at a distance of 3 meters?
And use a lower resolution texture/ different material in a LOD so the performance stays acceptable?

Hey, not a problem. We’ll get to the bottom of this. Things that we see up close will always be crisper to our eyes. If you take a bottle of soda/pop and you hold it in your hand you can read what it says quite clearly. You take the same bottle and you place it six feet away and the writing is still legible but your eyes may not see it as clearly. This becomes increasingly obvious the further you are from that object. So, you would be able to set up an LOD so that at a close distance the resolution could be as you have it now. The image looks crisp and you aren’t losing and resolution. However, the further you are away you may want to call a higher resolution. So at 3 meters, the LOD would change from the first Level of 256 to the next of maybe 512. At some point, if you want the transition appear natural, you will be at a distance where your eyes cannot see the image as clearly. Say you get 20 meters away, for better performance, you would want a lower resolution. This is so the engine is not trying to calculate all of that quality in a tiny space on your screen.

You will definitely need to play around with the LOD system to come up with a solution that works best for you.

To answer you question of DPI and PPI no they are not the same.

The terms Dots Per Inch (DPI) and Pixels Per Inch (PPI) are commonly used to describe the resolution of an image. However, the terms do not mean the same thing and there are distinct differences between the two: DPI refers to the number of printed dots contained within one inch of an image printed by a printer. So, within a finite space, a piece of paper may have less DPI than a screen has PPI.

There is also the huge difference between DPI, which is a Subtractive Color Space, and PPI which is an Additive color space. The difference being is that on a computer screen we see light because of the illumination of the monitor. On a printed image we are seeing the image illuminated by light bouncing off of the image and then perceived by our eyes.

This is a system that graphic artists and those that transition from Additive to Subtractive space need to follow. Resolution will tend to differ as well as colors. This is why you would use an RGB system on your computer screen and then have to transfer that to a CMYK system for printing.

Hi Psychogony, I changed the mipmaps bias in the materials, but without any luck. The result was not sufficient enough. Thank you for your response.

Not sure I was clear - If you haven’t already tried, set this to a negative number.
eg. In material samplers
MipValueMode: MipBias (relative to the computed mip level)
Const Mip Value: -3

This should make labels much more pixelated/sharper at a distance (and easier to read). I am using this on road tiles (which lie flat not vertical) and it makes a huge visual difference.

Sounds like you have already tried larger textures - you could also try disabling texture compression on the textures Compression → Compression Settings ‘UserInterface2D (RGBA)’.

Thank you and Psychogon for all the good advices.
The textures look a lot better now at various distances.