Если вы хотите использовать только красный и зеленый, вы можете добиться этого с помощью базовой структуры if и else, например:
int index = Random.Range(0, 1);
if(index == 1)
{
quad.gameObject.GetComponent<Renderer>().material.color = new Color(1, 0, 0);
}
else
{
quad.gameObject.GetComponent<Renderer>().material.color = new Color(0, 1, 0);
}
Если вы хотите что-то лучше, вы можете сделать случайное число с плавающей точкой от 0 до 1, а затем Lerp.между цветами вроде этого:
float index = Random.Range(0, 1);
quad.gameObject.GetComponent<Renderer>().material.color = Color.Lerp(Color.red, Color.green, index);
Если вы хотите полностью рандомизировать раскраску, вы также можете использовать это.Тем не менее, он дает вам ограниченный контроль над цветами, которые вы получаете.
quad.gameObject.GetComponent<Renderer>().material.color = Random.ColorHSV();
ColorHSV
метод имеет несколько перегрузок, что дает вам некоторый контроль над цветом, например, используя hueMin
и hueMax
.
Другой вариант иметь контроль над цветами может быть, как указано @Szymon, имеющим массив цветов с большим количеством цветов и возвращающим индекс между 0 и длиной этого массива.