unity ugui 现实自定义绘图

一、效果图

unity ugui 现实自定义绘图

原理:

1、重写MaskableGraphic的OnPopulateMesh方法

  OnPopulateMesh 方法参数VertexHelper 包含顶点信息,说明一下unity 绘图都是以三角形为图元绘图。

  比如绘制矩形,传过来是4个顶点坐标,添加4个顶点信息,然后依据4个顶点组合两个三角形,形成一个矩形

        int vCount = vh.currentVertCount;
        for (int i = 0; i < postion.Length; i++)
        {
            UIVertex uiVertices = new UIVertex();
            uiVertices.color = color;
            uiVertices.position = postion[i];
            vh.AddVert(uiVertices); //添加顶点
        }

        vh.AddTriangle(vCount, vCount + 1, vCount + 2);  //依据顶点组合三角形
        vh.AddTriangle(vCount + 2, vCount + 3, vCount);  

工程源码