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 };