我想要更改每行(元素)的颜色,就像在颜色切换中一样。但是我的代码不能工作。我的代码出了什么问题?
void Start()
{
lineGeneratorPrefab = new GameObject();
DrawLine();
}
private void DrawLine()
{
GameObject myLine = new GameObject();
myLine.transform.position = start;
myLine.AddComponent<LineRenderer>();
LineRenderer lr = myLine.GetComponent<LineRenderer>();
lr.positionCount = 4;
lr.SetPosition(0, new Vector3(-2, 0, 0));
lr.SetPosition(1, new Vector3(2, 0, 0));
lr.SetPosition(2, new Vector3(2, -2, 0));
lr.SetPosition(3, new Vector3(-2, -2, 0));
lr.materials[2].color = Color.blue;
lr.materials[3].color = Color.red;
}发布于 2019-03-18 15:14:09
看看here吧。
您可以通过colorGradient属性更改线渲染器的渐变,而不是更改各种材质。
因此,在您的示例中,您可以添加以下内容:
gradient.SetKeys(
new GradientColorKey[] {
new GradientColorKey(Color.red,0.0f),
new GradientColorKey(Color.red, 0.25f),
new GradientColorKey(Color.blue, 0.5f),
new GradientColorKey(Color.blue, 1.0f)},
// Alpha key
);如果想要更陡峭的过渡,可以在0.49和0.51处添加颜色键。
https://stackoverflow.com/questions/55214044
复制相似问题