I´m trying to build a tool inside Unity that allows our artists to create different color palettes for our characters.
The big problem is that since every single sprite is hand-drawn and hand-painted with different brushes there are no "traditional" color palettes defined for our base sprites. We use around 10-15 base colors for our characters but each character has tons of different shades and saturation variants to their base color on every frame (again, the art is brush-painted like).
Since color indexing is not really an option (unless I want to create a really big color index texture with a gazillion colors) I was wondering if there was a way to create a shader that, given a set of "base colors" and an equivalent color palette, swaps every "similar color" of the character with the color from the new palette (i.e. swap every single red-ishreddish color within a tolerance range with a newly defined color).
The goal here is to do this on a shader in real time. I could just write a script that does this and generates a new spritesheet with the swapped colors, but managing one spritesheet per character variationmanaging one spritesheet per character variation (we aim to have 10 variations per character)** is really problematic for our workflow.**
I reallreally hope you can help me. I´veI've been trying to find an answer for this for a week.