Hi I am trying to make a cube in script but i can’t get all the sides to work
using UnityEngine;
using System.Collections;
public class Cube : MonoBehaviour {
public Material mat;
// Use this for initialization
void Start () {
MeshFilter meshFilter = GetComponent<MeshFilter>();
if (meshFilter==null){
Debug.LogError("MeshFilter not found!");
return;
}
Vector3 p1 = new Vector3(0, 0, 0);
Vector3 p2 = new Vector3(0, 1, 0);
Vector3 p3 = new Vector3(1, 1, 0);
Vector3 p4 = new Vector3(1, 0, 0);
Vector3 p5 = new Vector3(1 , 0, 1);
Vector3 p6 = new Vector3(1, 1, 1);
Vector3 p7 = new Vector3(0, 0, 1);
Vector3 p8 = new Vector3(0, 1, 1);
Mesh mesh = meshFilter.sharedMesh;
if (mesh == null) {
meshFilter.mesh = new Mesh();
mesh = meshFilter.sharedMesh;
}
mesh.Clear();
mesh.vertices = new Vector3[]{
p1, p2, p3, p3, p4, p1,
p2, p8, p6, p6, p2, p2,
p4, p3, p6, p6, p5, p4,
p5, p6, p8, p8, p7, p5,
p7, p8, p2, p2, p1, p7,
p7, p1, p4, p4, p5, p7,
};
mesh.triangles = new int[]{
0, 1, 2, 3,
4, 5, 6, 7,
8, 9, 10, 11,
12, 13, 14, 15,
16, 17, 18, 19,
20, 21, 22, 23
};
mesh.RecalculateNormals();
mesh.RecalculateBounds();
mesh.Optimize();
//Materials
renderer.material = mat;
}
}
