public class Cube : MonoBehaviour
{
private void Awake()
{
var pMeshFilter = gameObject.AddComponent(typeof(MeshFilter)) as MeshFilter;//网格过滤器
var pMeshRender = gameObject.AddComponent(typeof(MeshRenderer)) as MeshRenderer;//网格渲染
var pMesh = pMeshFilter.mesh as Mesh; //网格过滤器的实例化的Mesh
Vector3[] pVector = new Vector3[36];
int[] pTriangles = new int[pVector.Length];
//forword
pVector[0] = new Vector3(-0.5f, -0.5f, -0.5f);
pVector[1] = new Vector3(-0.5f, 0.5f, -0.5f);
pVector[2] = new Vector3(0.5f, 0.5f, -0.5f);
pVector[3] = new Vector3(-0.5f, -0.5f, -0.5f);
pVector[4] = new Vector3(0.5f, 0.5f, -0.5f);
pVector[5] = new Vector3(0.5f, -0.5f, -0.5f);
back
pVector[6] = new Vector3(-0.5f, 0.5f, 0.5f);
pVector[7] = new Vector3(-0.5f, -0.5f, 0.5f);
pVector[8] = new Vector3(0.5f, 0.5f, 0.5f);
pVector[9] = new Vector3(0.5f, 0.5f, 0.5f);
pVector[10] = new Vector3(-0.5f, -0.5f, 0.5f);
pVector[11] = new Vector3(0.5f, -0.5f, 0.5f);
//left
pVector[12] = new Vector3(-0.5f, -0.5f, -0.5f);
pVector[13] = new Vector3(-0.5f, 0.5f, 0.5f);
pVector[14] = new Vector3(-0.5f, 0.5f, -0.5f);
pVector[15] = new Vector3(-0.5f, -0.5f, -0.5f);
pVector[16] = new Vector3(-0.5f, -0.5f, 0.5f);
pVector[17] = new Vector3(-0.5f, 0.5f, 0.5f);
//right
pVector[18] = new Vector3(0.5f, -0.5f, -0.5f);
pVector[19] = new Vector3(0.5f, 0.5f, -0.5f);
pVector[20] = new Vector3(0.5f, 0.5f, 0.5f);
pVector[21] = new Vector3(0.5f, -0.5f, -0.5f);
pVector[22] = new Vector3(0.5f, 0.5f, 0.5f);
pVector[23] = new Vector3(0.5f,- 0.5f, 0.5f);
//up
pVector[24] = new Vector3(0.5f,-0.5f, 0.5f);
pVector[25] = new Vector3(-0.5f, -0.5f, 0.5f);
pVector[26] = new Vector3(-0.5f, -0.5f, -0.5f);
pVector[27] = new Vector3(0.5f, -0.5f, 0.5f);
pVector[28] = new Vector3(-0.5f, -0.5f, -0.5f);
pVector[29] = new Vector3(0.5f, -0.5f, -0.5f);
//down
pVector[30] = new Vector3(-0.5f, 0.5f, -0.5f);
pVector[31] = new Vector3(-0.5f, 0.5f, 0.5f);
pVector[32] = new Vector3(0.5f, 0.5f, 0.5f);
pVector[33] = new Vector3(-0.5f, 0.5f, -0.5f);
pVector[34] = new Vector3(0.5f, 0.5f, 0.5f);
pVector[35] = new Vector3(0.5f, 0.5f, -0.5f);
for (int nIndex = 0; nIndex < pTriangles.Length; ++nIndex)
{
pTriangles[nIndex] = nIndex;
}
pMesh.Clear();
pMesh.vertices = pVector;//网格顶点
pMesh.triangles = pTriangles;//三角形
pMesh.RecalculateBounds();
}