Unity3D实现画线——利用Line Renderer

简单画线功能的实现:

创建一个物体,在这个物体上挂载line renderer组件,在该物体上再挂载一个脚本。

在脚本中写上如下代码

    public LineRenderer lineRender;

    void Start()
    {
        List<Vector3> points = new List<Vector3>();           //设置点集合
        points.Add(new Vector3(-33,13, 0));             //添加点的位置
        points.Add(new Vector3(31.1f,11.9f,0));

        lineRender.SetPositions(points.ToArray());      //利用点集合中点的位置改变line renderer中的线属性

        lineRender.startWidth = 0.05f;               //设置一下子宽
        lineRender.endWidth = 0.05f;
    }

在外边给这个脚本的 line renderer 赋值

在运行时,即可发现成功画线!


在line renderer中有很多属性要注意,比如材质球的选择,还有注意是否使用世界坐标。


多条线段:

一个linerenderer只能画一条线,可以有折点,但不能断开。

所以要话多条线,我们可以创造多个空物体,都挂载上line renderer,在一个控制脚本里创建一个line renderer 集合(list),再创建一个全局变量用来line renderer集合的下标索引。

每当想要创建一条线,就在points list中创建两个点,装换成数组加载到这个line renderer的位置信息中,然后索引加一,画下一条线,即可啦

            points.Add(position);             //添加点的位置
            points.Add(position2);             //添加点的位置
            lineRender[WhitchLineRenderer].SetPositions(points.ToArray());  //转换成数组
            WhitchLineRenderer++;
            points.Clear();                     //清空点集

 

发表评论