Unity之Mesh学习一

<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());

            }
        }
    }
}


 
发布了70 篇原创文章 · 获赞 68 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/Rose_Girls/article/details/51437031
今日推荐