I'm trying to achieve this look in my Unity Game:
I like how the color of the mountain gets lighter as the altitude increases.
I'm still new to game development and while I understand what shaders do, I'm having trouble trying to use them in practice.
I know I need to do something like this in my surface shader:
float4 mountainColor = lerp(_BottomColor,_TopColor,IN.vertex.z);
...to lerp between the darker color and lighter color based on the z value.
But I'm not sure how to pragmatically lighten a color in the shader. I'm not using vertex colors, the color comes from a texture. Any help/pointers would be appreciated.
EDIT:
So, duh, I realized I just have to multiply the rgb value to either lighten or darken it.
The issue is, if I just do something like this:
o.Albedo = c.rgb * 1.5;
... yes, it lightens it, but it also slightly changes the hue and becomes overly saturated.
How can I fix this?
