How to fix pixelated normal textures?

247671-aaaa.png

How do I fix these pixelated normals? They are very distracting and I simply can’t understand what is causing them. I finally had to ask for help, because I have no idea what I’m doing wrong. The normal texture is a png, I tried setting GBuffer Format to Force 16 Bits Per Channel, high quality tangent space but to no avail. I even tried baking the texture in another program, XNormal, same issue. Both Blender Internal, Blender Cycles and XNormal produce these. At all bit per channel options. For every format possible. I tried changing the mipmap options (to no mipmaps), changing the compression settings, making it compress only on save, everything, yet still nothing. Thanks in advance
(also this section seemed the most logical to post in)

Your normal map is made out of 6 separate squares. It should be a single image (Like in the example)

Obviously my texture was just one single image, the squares are separate because it is a texture for a cube, the UV islands being independent
Edit: Besides, how is that relevant at all? It doesn’t explain the pixels on the normal map. Also, I might add this only happens in UE4, everywhere else it looks as expected

In the material editor, you are previewing the material on a plane, so the UVs wont align with your normal map. If the mesh in the first image is the default cube from the engine, it has a different UV map so it wont align again. Try creating a material with the normal map from my answer, it wont be pixelated.

It’s not the default cube from the engine, it is my custom imported mesh. Besides, the UVs are irrelevant in this case, as the pixelation shouldn’t appear no matter what. The first image is my custom mesh, my custom normals, with good UVs, and good looking over all, but the pixelation is again obvious

I might also add that I tried the same thing with another mesh, a more complex one, and this is only visible on normals maps that have been cooked from a mesh with smooth shading turned on. I guess the workaround is simply using a more complex mesh, which I have done with satisfying results

The UVs do matter, if they’re not set up correctly, the squares will just repeat, causing a pixelated look. Try any other normal map on your custom mesh and it shouldnt be pixelated.

No, no, no. It’s not the squares repeating over and over again, or there would be a pattern. Besides, the plane itself has the exact color and normal map as the texture… And no, the UVs will not repeat, and the UVs are fine for the custom mesh as well as the texture

1 Like