unity mesh生成凹形模型

基礎知識中的基礎,直接上代碼

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


        };

    }
}

,效果圖片

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章