因为项目需要导入已知点,根据已知点生成一个类似于圆胎的Mesh,所以想了下Mesh生成物体的代码逻辑。
假设现在有9个Vertice(Vector3),横向HorizontalNumber=3,纵向Horizontal=3,那么按照三角形生成原理,有索引145,152,256,263,478,485,589,596。总共24个int类型的索引Triangles(int),点的数量和索引数量之间的关系是triangles=(horizontalNumber-1)*(horizontal-1)*6。可以得到这样的代码,很神奇的算法,过了一段时间自己都忘了他是怎么来的。
for (int i = 0; i < (horizontalNumber - 1) * (horizontal - 1); i++)
{
trialges.Add(i + i / (horizontalNumber - 1));
trialges.Add(i + horizontalNumber + i / (horizontalNumber - 1));
trialges.Add(i + horizontal