예제 #1
0
        public static GameObject GenerateChunk(int chunkX, int chunkY, int chunkSize)
        {
            var map = new float[chunkSize, chunkSize];

//            ContinentalShelf.GenerateShelf(ref map, chunkX, chunkY);
            Coast.GenerateCoast(ref map, chunkX, chunkY);
            Transformation2D.Translate(ref map, 1f);
            Transformation2D.Scale(ref map, 0.5f);

            var terrainData = new TerrainData();

            terrainData.SetHeights(0, 0, map);
            terrainData.size = new Vector3(chunkSize, 300f, chunkSize);
            var chunk = Terrain.CreateTerrainGameObject(terrainData);

            chunk.transform.position = new Vector3(chunkX * (chunkSize - 1), 0, chunkY * (chunkSize - 1));
            chunk.GetComponent <Terrain>().Flush();

            return(chunk);
        }
예제 #2
0
파일: Coast.cs 프로젝트: frugs/darkshoals
 public static void GenerateCoast(ref float[,] map, int chunkX, int chunkY)
 {
     TerrainComponents.GenerateSmoothComponent(ref map, chunkX, chunkY);
     Transformation2D.Scale(ref map, 1 / 10f);
 }