Home Unreal Engine

Normal Map Compression

sublime tool
Offline / Send Message
Fansub sublime tool
Hey guys :)

I'm currently working on an environment in UE4 and while working on my master material i noticed that my normal maps quality have decreased a bit.

I only use the R and G channel for the normal map,the blue is for any other grayscale texture.
I'm using the DTX5 compression method and the normal map is set to TC_Default.I also converted it's range from [0...1] to [-1...1] .

Screenshot to show the normal map quality and my normal map settings :

1437244987-normal.png

Thanks in advanced and halp ! :D

Replies

  • james01
    Options
    Offline / Send Message
    Import TGA
    Compression settings: TC_Normal ?
  • Fansub
    Options
    Offline / Send Message
    Fansub sublime tool
    Texture format is PNG,and the compression setting is TC_Default because TC_Normalmap Overides the Blue channel of the normal map (where i want to store a grayscale texture).
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Have you checked the "bit depth thread" by EarthQuake? Maybe dithering from a high range format can reduce the compression issues.

    http://www.polycount.com/forum/showthread.php?t=148303
  • Fansub
    Options
    Offline / Send Message
    Fansub sublime tool
    Hmm sounds interesting,will check it out righ now.Thanks !
  • tach
    Options
    Offline / Send Message
    Actually it may be the fact that you're storing extra info on the blue channel. The more detailed data per channel the harsher the compression will be.
  • wes.sau
    Options
    Offline / Send Message
    To clarify on tach's point, just making more or less detail in a channel doesn't actually change the compression algorithm to better or worse quality, but rather that some patterns of gradients tend to show the compression artifacts more visibly to the eye than others, compounded by the roughness/specular usage which can exaggerate or minimize the issue.

    My own opinion, if you're making any hard surface materials, I would find other places to
    park that extra map channel than the normal map. Unreal's DTX compression is very chunky, especially DTX1. BC5 normal compression is FAR superior, and the difference is hugely visible on shiny and smooth hard surface materials. (where like Obscura says, source bit depth helps too)

    However I've seen Epic use DTX compression on normal maps for special cases that tend to be more organic and dirty and high roughness, like stones and dirt etc, combined with detail normals where all the noise hides the compression. That's a better case where the quality trade off of the normals lower accuracy doesn't suffer. And usually no visible difference with source bit depth.

    In short: Dirty/noisy normals or with noisy detail normal, with high roughness = can usually get away with low quality compression/less accuracy. Smooth geometric normals with low roughness = usually not so.
  • MooseCommander
    Fansub wrote: »
    Texture format is PNG,and the compression setting is TC_Default because TC_Normalmap Overides the Blue channel of the normal map (where i want to store a grayscale texture).

    This is why - it is being compressed as DXT1, which will obliterate your normal. You are better off importing your greyscale texture as just that - a greyscale texture - and let your normal use BC5 compression.
Sign In or Register to comment.