Unity-LineRenderer没有出现在版本(2D)上

时间:2019-12-30 10:25:50

标签: c# unity3d

我创建了以下脚本来画圆:

    int numSegments = 128; // The number of line segments we are going to draw.
    float circleWidth = 0.15f;

    GameObject myGameObject= new GameObject("Circle");
    myGameObject.transform.SetParent(transform);
    myGameObject.transform.localPosition = Vector3.zero;
    myGameObject.transform.localScale = new Vector3(1f, 1f);

    LineRenderer lineRenderer = myGameObject.AddComponent<LineRenderer>();
    lineRenderer.material = new Material(Shader.Find("Mobile/Particles/Additive"));
    lineRenderer.SetColors(Color.blue, Color.blue);
    lineRenderer.SetWidth(circleWidth, circleWidth);
    lineRenderer.SetVertexCount(numSegments + 1);
    lineRenderer.useWorldSpace = false;

    float deltaTheta = (float)(2.0 * Mathf.PI) / numSegments;
    float theta = 0f;

    for (int i = 0; i < numSegments + 1; i++)
    {
        float x = radius * Mathf.Cos(theta);
        float y = radius * Mathf.Sin(theta);
        Vector3 pos = new Vector3(x, y, 1f);
        lineRenderer.SetPosition(i, pos);
        theta += deltaTheta;
    }

虽然它在Unity中工作正常(关闭了Guizmos),但是一旦构建,就不会出现该圆圈。 实际上,我有点困惑为什么会这样。

编辑:值不能为空。参数名称:shader->看来似乎不包含

我想我需要以某种方式包含它?

1 个答案:

答案 0 :(得分:3)

根据Iggy的评论:

如果增加“始终包含的着色器”阵列的大小,请点击新元素的小圆圈,然后搜索“附加”着色器,您将找到“移动/粒子/附加”。