unity怎么绘制线条啊?求大神解答!!
发布网友
发布时间:2023-04-09 12:08
我来回答
共1个回答
热心网友
时间:2023-05-20 12:35
1. 打来Unity3D软件,创建工程如下图所示。
2. 创建下图所示的脚本文件,并将其拖拽到MainCamera对象下
3. 打开步骤2创建的脚本文件,编辑代码如下图所示。
using UnityEngine;
using System.Collections;
public class DrawLines : MonoBehaviour
{
public Material lineMat;
public GameObject mainPoint;
public GameObject[] points;
//public void set
void DrawConnectingLines()
{
if (mainPoint && points.Length > 0)
{
// Loop through each point to connect to the mainPoint
foreach (GameObject point in points)
{
Vector3 mainPointPos = mainPoint.transform.position;
Vector3 pointPos = point.transform.position;
GL.Begin(GL.LINES);
lineMat.SetPass(0);
GL.Color(new Color(lineMat.color.r, lineMat.color.g, lineMat.color.b, lineMat.color.a));
GL.Vertex3(mainPointPos.x, mainPointPos.y, mainPointPos.z);
GL.Vertex3(pointPos.x, pointPos.y, pointPos.z);
GL.End();
}
}
}
void OnPostRender()
{
if (points.Length == 0)
return;
DrawConnectingLines();
}
}
4. 在场景中创建如下图所示的球体作为测试
5. 为mainSphere球体创建材质并赋值给它,如下图所示。选中【MainSphere】->【MeshRender】->【Materials】
6. 同步骤5为其他的球添加材质如下图所示,LineMaterial设置如下。
7. 选中【MainCamera】下的脚本,为其变量赋值,如下图所示。
8. 运行结果如下图所示。源码下载地址见注意事项