我创建了以下脚本来画圆:
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->看来似乎不包含
我想我需要以某种方式包含它?
答案 0 :(得分:3)
根据Iggy的评论:
如果增加“始终包含的着色器”阵列的大小,请点击新元素的小圆圈,然后搜索“附加”着色器,您将找到“移动/粒子/附加”。