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(); }
// 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); }