Search Unity

Ugly light banding

Discussion in 'Android' started by miszelfox, Mar 6, 2018.

  1. miszelfox

    miszelfox

    Joined:
    Oct 12, 2014
    Posts:
    10
    Device: Xiaomi Redmi Note 5A Prime
    Unity version: 2017.3.0f3
    Using OpenGLES 3.0

    I'm testing cardboard VR on demo map but i can see that ugly light banding, especially in low light, EVEN with ambient lighting. I am using realtime lights, not baked, no lightmaps.

    Brighter ambient lighting looks fine. Realtime lights also look better.

    Switching between forward and deffered does nothing
    Linear color space makes things even worse
    HDR has no effect
    (Legacy) Tonemapping didn't help
    32-bit display buffer checked

    What else can i do to make it look at least acceptable?

    Sample images:

    Gamma color space (increased brightness and contrast to make it more visible)

    Linear color space
     
  2. Netuddmeg

    Netuddmeg

    Joined:
    Mar 2, 2018
    Posts:
    14
    Just a tip.
    Increase lights strength and use post process for darkening.
     
  3. BoogieD

    BoogieD

    Joined:
    Jun 8, 2016
    Posts:
    236
    I don't think that will make any difference. You will still end up with similar dark banded shades. I think the problem is with mobile displays probably using less bits for color info resulting in fewer possible colors. I get the same crappy banding in my bright clear blue skies on mobile, I suspect because there is only so many shades of blue that can be displayed. When I have cloudy skies with varying tones it is not so noticeable. Your dark blue/green tinted tones have very little red component therefore have a very limited range of possible colors. If your art style allows it, use some plain textures rather than solid colors and it should look better than creepy banding.
     
    Last edited: Mar 16, 2018
  4. Netuddmeg

    Netuddmeg

    Joined:
    Mar 2, 2018
    Posts:
    14
    Is there any dither shader?
     
  5. BoogieD

    BoogieD

    Joined:
    Jun 8, 2016
    Posts:
    236
    Yeah, that's probably a solution but I'm not up to fiddling with shaders yet. Still doing core code. I have noticed though that the shader that I'm using works well on PC but looks looks awful on my android device.
     
  6. miszelfox

    miszelfox

    Joined:
    Oct 12, 2014
    Posts:
    10
    Thanks for the answers. Yeah darkening probably won't do much, i already tried it.
    Banding is acceptable in gamma color space, but linear makes it awful.
    Also, grain post processing helps a bit as well.
     
  7. BoogieD

    BoogieD

    Joined:
    Jun 8, 2016
    Posts:
    236
    Why don't you try a light sandy texture and set the color shade in the material.
    Starting with a slightly dithered looking surface will probably help hide the banding as the shades darken across the surface.