public void GenerateTerrain() { float[,] noiseMap = NoiseGen.GenerateNoiseMap(width, height, seed, scale, octaves, persistance, lacunarity, offset); FoliageGen.removeAllFoliage(); TerrainRendering terrainRendering = FindObjectOfType <TerrainRendering>(); List <ChunkData> chunks = NoiseGen.ChunkNoiseMap(noiseMap); List <MeshData> meshData = new List <MeshData>(); foreach (ChunkData chunkData in chunks) { meshData.Add(MeshGen.GenerateTerrainMesh(chunkData.heightMap, meshHeightMultiplier, meshHeightCurve, chunkData.chunkCoords, regions)); } if (useShader) { terrainRendering.DrawMesh(meshData, meshScale, shaderMaterial); } else { terrainRendering.DrawMesh(meshData, meshScale, null); } UpdateShaderData(); }
public override void OnInspectorGUI() { FoliageGen mapGen = (FoliageGen)target; bool defaultInspect = DrawDefaultInspector(); GUILayout.Label("noiseTexture"); if (mapGen.res != null && mapGen.res.Length != 0) { GUILayout.Label(TextureGenerator.TextureFromHeightMap(mapGen.res)); } if (GUILayout.Button("Generate")) { mapGen.Refresh(); } }
public void GenerateFoliage() { float[,] treeNoiseMap = NoiseGen.GenerateTreeNoiseMap(width, height); FoliageGen.GenerateFoliage(treeNoiseMap, regions, forestAmount, meshScale, meshHeightCurve, meshHeightMultiplier); }