Ну, в коде, который вы разместили, вы никогда не измените ни одного из H
, S
и V
...
, которые вы можете использовать
Color.RGBToHSV
void Start()
{
Color c = TheTexture.GetPixel(4, 4);
Color.RGBToHSV(c, out var H, out var S, out var V);
Debug.Log("H: " + H + " S: " + S + " V: " + V);
}
Я видел, как вы добавили его в свой вопрос. Но я не могу это подтвердить. Я подозреваю, что ваш пиксель имеет неправильный цвет.
Для
void Start()
{
Color c = new Color(0, 0, 1, 1);
Color.RGBToHSV(c, out var H, out var S, out var V);
Debug.Log(c);
Debug.Log("H: " + H + " S: " + S + " V: " + V);
}
Я получаю правильный вывод:
RGBA (0,000, 0,000, 1000, 1000)
В: 0,6666667 S: 1 В: 1
Оттенок 0
на самом деле будет красным ...