首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改linerenderer中每个元素的颜色不起作用

更改linerenderer中每个元素的颜色不起作用
EN

Stack Overflow用户
提问于 2019-03-18 10:37:13
回答 1查看 348关注 0票数 0

我想要更改每行(元素)的颜色,就像在颜色切换中一样。但是我的代码不能工作。我的代码出了什么问题?

代码语言:javascript
复制
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;
}
EN

回答 1

Stack Overflow用户

发布于 2019-03-18 15:14:09

看看here吧。

您可以通过colorGradient属性更改线渲染器的渐变,而不是更改各种材质。

因此,在您的示例中,您可以添加以下内容:

代码语言:javascript
复制
 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处添加颜色键。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55214044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档