Beispiel #1
0
    void createMesh(SqureGrid grid)
    {
        for (int i = 0; i < grid.squareArray.GetLength(0); i++)
        {
            for (int j = 0; j < grid.squareArray.GetLength(1); j++)
            {
                //遍历所有的Square
                //get all vertix 还有 Triangle
                triangulateSquare(grid.squareArray[i, j]);
            }
        }
        createWall();

        Mesh myMesh = new Mesh();

        myMesh.vertices  = verticsList.ToArray();
        myMesh.triangles = triangleList.ToArray();

        myMeshFilter.mesh = myMesh;
        myMeshFilter.mesh.RecalculateNormals();

        Mesh myWallMesh = new Mesh();

        myWallMesh.vertices  = wallVerticsList.ToArray();
        myWallMesh.triangles = wallTriangleList.ToArray();
        wallMeshFilter.mesh  = myWallMesh;
        wallMeshFilter.mesh.RecalculateNormals();
    }
Beispiel #2
0
    // Use this for initialization
    void Start()
    {
        this.wallVerticsList  = new List <Vector3>();
        this.wallTriangleList = new List <int>();

        drawVerticsIndex    = new List <int>();
        drawVerticsPosition = new List <Vector3>();
        wallList            = new List <List <int> >();
        checkedVertics      = new HashSet <int>();
        //int verticsIndex, List<Triangles> triList
        vertTriDictionary = new Dictionary <int, List <Triangles> >();

        verticsList  = new List <Vector3>();
        triangleList = new List <int>();

        myMeshFilter   = GetComponent <MeshFilter>();
        wallMeshFilter = wallObject.GetComponent <MeshFilter>();

        MapGenerator mapData = GetComponent <MapGenerator>();

        mapData.generatemap();
        myGrid = new SqureGrid(mapData.generatemap(), 1f);

        createMesh(myGrid);
    }