kingBook

导航

unity Mesh(网格)的使用

创建两个三角形合成的矩形网格:

GameObject obj= new GameObject();
MeshRenderer meshRenderer=obj.AddComponent<MeshRenderer>();
MeshFilter meshFilter=obj.AddComponent<MeshFilter>();

//渲染材质
meshRenderer.material=new Material(Shader.Find("Sprites/Default"));//从着包器创建材质
meshRenderer.material.mainTexture=(Texture)Resources.Load("a");//Resources文件夹下的"a"2d纹理

Mesh mesh=new Mesh();
meshFilter.mesh=mesh;

mesh.vertices=new Vector3[]{new Vector3(0,0), new Vector3(3,0), new Vector3(0,3), new Vector3(3,3)};//网格顶点

//uv贴图坐标,长度与顶点数组长度一致,取值0~1
mesh.uv=new Vector2[]{new Vector2(0,0),new Vector2(1,0),new Vector2(0,1),new Vector2(1,1) };

//三角形的顶点渲染顺序,每个id对应顶点数组中的每一个顶点,长度为:三角形个数*3,当少填某个三角形时,则这个三角形不渲染,长度必须是3的倍数
mesh.triangles=new int[]{
    0,1,2,
    1,2,3
};

 

posted on 2016-08-05 14:47  kingBook  阅读(1026)  评论(0编辑  收藏  举报