早在之前简介了一下绘制的原理,通过网格可以绘制一些简单的图形,但是上手较难,将轮转图和通过顶点绘制弧形网格结合就是本次的目的.
首先需要搞定绘制弧形的网格,代码和注释如下:
float n = 15; //定义一个变量n表示图形的个数
float l; //定义一个变量l表示周长
float r; //定义一个变量r表示半径
void Start()
{
l = 150 * n; //计算周长
r = l / (2 * Mathf.PI); //计算半径
float ang = 2 * Mathf.PI / n; //计算角度
float sunang = 2 * Mathf.PI / (n * 10);
VertexHelper vh = new VertexHelper(); //创建顶点帮助器
for (int i = -5; i <= 5; i++)
{
float x = Mathf.Sin(i * sunang) * r - Mathf.Sin(0) * r; //计算x坐标
float z = Mathf.Cos(i * sunang) * r - Mathf.Cos(0) * r; //计算z坐标
float y = 113; //可替换
float y0 = -113;
float uvx = (float)(i + 5) / 10; //计算纹理坐标x值
vh.AddVert(new Vector3(x, y, z), Color.white, new Vector2(uvx, 1));
vh.AddVert(new Vector3(x, y0, z), Color.white, new Vector2(uvx, 0));
if (i < 5)
{
int j = i + 5</