Why does my Terrain look glossy and has sun reflection?

My terrain reflects sun and looks glossy. Metallic and smoothness of terrain layers set at 0.

It looks unrealistic while my grass and ground is glossy. How to fix it?

p.s. Unity 2019.2

You can try importing the textures with black alpha.

I’ve found the temporary solution. In the Import Settings of the texture I set “Alpha Source - None”.
So, thank you for your idea to look into the import settings.

But I don’t get it what you mean by “importing the textures with black alpha.” ? black alpha? do not see such option.

Btw any ideas why does it happen?

The alpha layer is basically just a greyscale texture. So depending on the shader your landscape is using, it could use the alpha channel to adjust different parameters in the shader. Ex smoothness / glossiness. So in your case, the alpha is probably set to a value that when it’s 100% opaque, or 1 on a scale 0 - 1, or white in the scale black to white (think opacity 100% in Photoshop), then the shader will apply 1 to the smoothness, i.e. make it super shiny.

If you instead set the alpha channel to 0% opaque, i.e. black, then it will be 0 in smoothness. When you remove the alpha channel completely in the import settings, then the shader understands that there is not 4th value to read, and probably reveals a smoothness slider between 0 and 1 instead.

So what you could do here is:

  • Export your texture without the alpha channel (ex png without transparency)
  • Set your transparency to 0 (or black) in your graphics programs channels view (In Photoshop you find this under Windows > Channels)
  • Remove the alpha channel in the export settings, like you did.

Using solution number 2 leaves you with some unnecessary texture data to store in the memory, but you could also use it creatively to ex paint reflective water puddles, or glossy wood surfaces and rocks.

(Hope this makes sense. And I’m just guessing based on my limited shader knowledge, haven’t looked in to the Unity terrain shader specifically.)

1 Like

For me it was on Lightning Setting reduce intensity Multiplier

3 Likes

I reduced the Intensity Multiplier to zero and it worked… for the skybox.
The reflection of the sun is still there, very powerful.

I’m wondering who and why would need anything like this?
Terrains are in 99.99% of cases non reflective, or they reflect very very little.
It’s so weird that they made this IMPORTANT shader without the option to cut off completely global reflections and cut all the specularity to zero. Very very very strange choice.

1 Like

Just shut off the alpha in import settings, and dont use streaming mipmap support on terrain textures, and your good :slight_smile:

1 Like

That finally worked, thank you!

1 Like

I also stumbled on this after adding a reflection probe to my scene. None of the above solutions worked (e.g. smoothness was already zero), but what did work was going into Inspector > Terrain > Layers > Layer Properties > Channel Default Values, and setting AO to zero:


As a side effect all shadows on the terrain layer also got darker, so not sure if this is a proper fix (but I compensated by reducing the light source’s shadow strength :woman_shrugging: so it’s fine for now). Unity 6000.0.22f1 btw.

1 Like

Remove the Alpha on all terrain textures…