<pre name="code" class="csharp">using UnityEngine;
using System.Collections;
public class MershDemo : MonoBehaviour {
// Use this for initialization
void Start () {
//x轴四边形数量
int x = 2;
//z轴四边形数量
int z = 2;
//总共有多少个四边形
int totalPol = x * z;
//总的四边形顶点数
int vertCnt = (x + 1) * (z + 1);
//三角形个数
int triagleCnt = x * z * 2;
//顶点数组
Vector3[] vec = new Vector3[vertCnt];
//存储顶点数组坐标(从下到上,从左到右)
for (int i = 0; i < (x + 1); i++)
{
for (int j = 0; j < (z + 1); j++)
{
int index = i * (z + 1) + j;
vec[index] = new Vector3(i, 0, j);
}
}
//输出存储的坐标
foreach (Vector3 v3 in vec)
{
Debug.Log(v3.ToString());
}
//三角形数组坐标
Vector2[] vec2 = new Vector2[vertCnt];
//输出三角形坐标点
for (int i = 0; i < x; i++)
{
for (int j = 0; j < z; j++)
{
int index = i * (z + 1) + j;
//第一个三角形
int dex_1_1 = index;
int dex_1_2 = index + 1;
int dex_1_3 = index + z + 2;
Debug.Log("第一个三角形: " + dex_1_1 + "_" + dex_1_2 + "_" + dex_1_3);
Debug.Log(vec[dex_1_1].ToString() + " " + vec[dex_1_2].ToString() + " " + vec[dex_1_3].ToString());
int dex_2_1 = index;
int dex_2_2 = index + z + 2;
int dex_2_3 = index + z + 1;
Debug.Log("第二个三角形: " + dex_2_1 + "_" + dex_2_2 + "_" + dex_2_3);
Debug.Log(vec[dex_2_1].ToString() + " " + vec[dex_2_2].ToString() + " " + vec[dex_2_3].ToString());
}
}
}
}
Unity之Mesh学习一
最新推荐文章于 2024-08-23 09:24:55 发布