基礎知識中的基礎,直接上代碼
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class cube : MonoBehaviour
{
public Material mat;
// Start is called before the first frame update
void Start()
{
gameObject.GetComponent<MeshRenderer>().material = mat;
gameObject.GetComponent<MeshRenderer>().material.color = Color.white;
Mesh mesh = GetComponent<MeshFilter>().mesh;
mesh.Clear();
//設置頂點
mesh.vertices = new Vector3[] {
//前
new Vector3(0, 0, 0),
new Vector3(0, 2, 0),
new Vector3(1, 2, 0),
new Vector3(1, 0, 0),
new Vector3(1, 1, 0),
new Vector3(2, 1, 0),
new Vector3(2, 0, 0),
new Vector3(2,2,0),
new Vector3(3,2,0),
new Vector3(3,0,0),
//後
new Vector3(0, 0, 3),
new Vector3(0, 2, 3),
new Vector3(1, 2, 3),
new Vector3(1, 0, 3),
new Vector3(1, 1, 3),
new Vector3(2, 1, 3),
new Vector3(2, 0, 3),
new Vector3(2,2,3),
new Vector3(3,2,3),
new Vector3(3,0,3),
//左
new Vector3(0,0,0),
new Vector3 (0,2,0),
new Vector3 (0,2,3),
new Vector3 (0,0,3),
//右
new Vector3(3,0,0),
new Vector3 (3,2,0),
new Vector3 (3,2,3),
new Vector3 (3,0,3),
//上
new Vector3(0,2,0),
new Vector3(0,2,3),
new Vector3(1,2,3),
new Vector3(1,2,0),
new Vector3(1,1,3),
new Vector3(1,1,0),
new Vector3(2,2,0),
new Vector3(2,2,3),
new Vector3(3,2,3),
new Vector3(3,2,0),
new Vector3(2,1,3),
new Vector3(2,1,0),
new Vector3(1,1,0),
new Vector3(1,1,3),
new Vector3(2,1,3),
new Vector3(2,1,0)
};
//設置三角形頂點順序,順時針設置
mesh.triangles = new int[] {
0, 1, 2, //前
0,2,3,
3,4,5,
3,5,6,
6,7,8,
6,8,9,
9,8,6,
8,7,6,
6,5,3,
5,4,3,
3,2,0,
2,1,0,
10, 11, 12, //後
10,12,13,
13,14,15,
13,15,16,
16,17,18,
16,18,19,
19,18,16,
18,17,16,
16,15,13,
15,14,13,
13,12,10,
12,11,10,
20,21,22, //左
20,22,23,
23,22,20,
22,21,20,
24,25,26, //右
24,26,27,
27,26,24,
26,25,24,
28,29,30, //上
28,30,31,
31,30,28,
30,29,28,
31,30,32,
31,32,33,
33,32,31,
32,30,31,
34,35,36,
34,36,37,
37,36,34,
36,35,34,
34,35,38,
34,38,39,
39,38,34,
38,35,34,
40,41,42,
40,42,43,
43,42,40,
42,41,40
};
}
}
,效果圖片