新版的画线系统将颜色和材质渐变进行了整合,根据官方的文档,我们可以发现将这些整合到了Gradient这个类里面,这是一个专门用来处理渐变的类
private LineRenderer lr;
void Start()
{
lr = GetComponent<LineRenderer>();
lr.material = new Material(Shader.Find("Sprites/Default"));
// 设置位置点,这个没有变
Vector3[] positions = new Vector3[3];
positions[0] = new Vector3(-2.0f, -2.0f, 0.0f);
positions[1] = new Vector3(0.0f, 2.0f, 0.0f);
positions[2] = new Vector3(2.0f, -2.0f, 0.0f);
lr.positionCount = positions.Length;
lr.SetPositions(positions);
//设置颜色渐变和透明度渐变
//使用gradient.SetKeys这个方法,这里面需要两个结构体,第一个分别填入初始颜色和结束颜色
//第二个填入初始透明度和最终透明度
//这两个结构体第二个参数都是渐变时间
float alpha = 1.0f;
Gradient gradient = new Gradient();
gradient.SetKeys(
new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) },
new GradientAlphaKey[] { new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f) }
);
lr.colorGradient = gradient;
}