OK. Ich habe also ein Spiel, an dem ich mit ein paar farbigen Partikeln arbeite. Jeder von ihnen bekommt seine eigene Farbe, aber sie sind alle nahe an einem bestimmten Farbton.
Um dies besser zu erklären, verwende ich den HSV-Farbraum und habe eine globale Variable, die von 0 bis 360 (H) wechselt, und jedes der spezifischen Partikel addiert oder subtrahiert eine zufällige Menge davon.
Ich benutze HSV, weil es für mich der einfachste Weg ist, durch Farben zu blättern, weil Sie einfach H ändern können.
Das sieht sehr gut aus und alles, aber die Partikel sollen reines Licht sein, das gefärbt ist. Im Moment sind alles Kreise, die mit dem Farbton gefärbt sind, aber später könnte ich Glüheffekte und andere Schattierungstechniken hinzufügen.
Das Problem ist, dass nicht alle Schattierungen (ich lege mich nicht mit H oder V an) gleich sind, was die Helligkeit betrifft, die unsere Augen sehen, und dies verursacht Probleme. Wenn zum Beispiel alle Blautöne sind, sehen die Dinge ziemlich dunkel aus.
Natürlich muss ich im Shader diese HSV-Farben in RGB-Farben konvertieren und beim Rechnen schnell erkennen, was falsch war ... die Farben hatten nicht die gleiche Leuchtdichte!
Soweit ich weiß, ist (0.2126*color.r + 0.7152*color.g + 0.0722*color.b)
die Luminanz ungefähr so hoch, weshalb alles ausgeschaltet ist.
Ist dies ein Weg, um es zu bekommen, damit ich immer noch all die verschiedenen Farbsättigungen (Farben auf den Rädern Grad) erhalten kann, während ich eine hohe Leuchtdichte beibehalte? Vielleicht sollte ich mit einer anderen Art von Farbe als HSV arbeiten, oder vielleicht ist es eine Formel, die eine Farbe im Grad x auf dem Farbkreis mit einer Luminanz von y findet?
Vielen Dank!