【源码】Unity3D运行期间如何绘制直线?

2025-10-20 16:18:57

1、1.   打来Unity3D软件,创建工程如下图所示。

【源码】Unity3D运行期间如何绘制直线?

2、2.  创建下图所示的脚本文件,并将其拖拽到MainCamera对象下

【源码】Unity3D运行期间如何绘制直线?

【源码】Unity3D运行期间如何绘制直线?

3、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();

}

}

【源码】Unity3D运行期间如何绘制直线?

4、4. 在场景中创建如下图所示的球体作为测试

【源码】Unity3D运行期间如何绘制直线?

【源码】Unity3D运行期间如何绘制直线?

5、5. 为mainSphere球体创建材质并赋值给它,如下图所示。选中【MainSphere】->【MeshRender】->【Materials】

【源码】Unity3D运行期间如何绘制直线?

【源码】Unity3D运行期间如何绘制直线?

6、6. 同步骤5为其他的球添加材质如下图所示,LineMaterial设置如下。

【源码】Unity3D运行期间如何绘制直线?

【源码】Unity3D运行期间如何绘制直线?

7、7. 选中【MainCamera】下的脚本,为其变量赋值,如下图所示。

【源码】Unity3D运行期间如何绘制直线?

8、8. 运行结果如下图所示。源码下载地址见注意事项

【源码】Unity3D运行期间如何绘制直线?

【源码】Unity3D运行期间如何绘制直线?

9、如果您觉得有用,记得在下方点击投票、点赞、关注、留言,小编会定期奉上更多的惊喜哦,您的支持才是小编继续努力的动力,么么哒。

【源码】Unity3D运行期间如何绘制直线?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢