This question already has an answer here:
I'm making models that has only used few colors. For instance, if there is a gun with arm, the gun only uses 2~3 colors and the arm only requires one.
First what I did was creating multiple materials and assign them to faces without UV mapping. Note that these models were used for my personal game project with Unity Engine.
But the problem is that each material requires high rendering costs in Unity, so I had to reduce the number of material as I possible.
So I changed my models to have single material with UV mapped, and painted textures from Substance Painter 2. But the problem is that it still only needed a few colors but texture images are too big. I want to make texture as small as possible, but I have no idea how to do.
I think it will be good if I can assign UV map to each pixel has different color. Is there a way to achieve this?