如果您只想要红色和绿色,您可以使用基本的 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
and hueMax
.
控制颜色的另一种选择可以是@Szymon 所说的拥有一个包含大量颜色的颜色数组,并在 0 和该数组的长度之间随机分配一个索引。