因为工作中有些东西需要用到网格,比如雷达图(属性图)等等,所以入门是绘制三角形,简单的画个圆,计算机图形学中,三角形才是永恒真理~~~
using UnityEngine;
using UnityEngine.UI;
public class SetCircle : Graphic
{
public float r = 1000.0f;
public int num = 10;
protected override void OnPopulateMesh(VertexHelper vh)
{
float ang = 2 * Mathf.PI / num;
vh.AddVert(Vector3.zero, Color.white, Vector2.one / 2);
for (int i = 0; i < num; i++)
{
float x = Mathf.Sin(ang * i) * r;
float y = Mathf.Cos(ang * i) * r;
float uvx = (x + r) / (r + r);
float uvy = (y + r) / (r + r);
vh.AddVert(new Vector3(x, y, 0), Color.white, new Vector2(uvx, uvy));
if (i == 0)
{
vh.AddTriangle(0, num, 1);
}
else
{
vh.AddTriangle(0, i, i + 1);
}
}
Mesh mesh = new Mesh();
vh.FillMesh(mesh);
}
}