Is there a way to change Unity’s lighting so that it’s less “smooth?” In other words have much more constrast between light and dark areas, and less colors to represent those?
It’s kind of hard to explain, so I’ll post this as an example of what I’m getting at:
Do you see how the lights aren’t a smooth gradient, but are made up of distinct “levels?” I was wondering if there’s a way to do that in Unity. And not just for spotlights (you could use a cookie for that, of course), but for ALL lighting. So that speculars would only be one or two shades, etc, to give the game a sort of pixel art look.
Not sure about the best way to replicate in Unity - but the effect you are seeing is commonly called banding and is caused by a very low color depth. It was very common on old school hardware -See Posterization - Wikipedia for a more lengthy discussion.
Yeah, that effect is caused by using small color pallets. Unity lightmaps are 24bit color, but you want something that looks like 4bit or 8 bit color.
One way that you can try to get this effect is make your lightmaps, and then open the lightmap textures in a program like photoshop, then switch to a low bit depth mode (like 8 bit color) and then switch back to RGB and save them again. That’s very labor intensive, esp if you regenerate light maps, but it’s a very direct way to see what’s happening.
You can do similar effects in pixel/fragment shaders. I’m not sure how much you know about shader writing, but the general idea is to quantize your colors, to take a range of colors and map them into a single color. There are lots of ways to do that, but using remap textures is a common approach if you want something else go search for.