public static Generate ( |
||
terrain | ||
random | ||
리턴 | void |
public static TerrainData CreateNoiseTerrain(IntSize3 size, Random random) { var terrain = new TerrainData(size); var noise = CreateTerrainNoise(); var noisemap = CreateTerrainNoiseMap(noise, new IntSize2(size.Width, size.Height)); FillFromNoiseMap(terrain, noisemap); terrain.RescanLevelMap(); double xk = (random.NextDouble() * 2 - 1) * 0.01; double yk = (random.NextDouble() * 2 - 1) * 0.01; TerrainHelpers.CreateBaseMinerals(terrain, random, xk, yk); TerrainHelpers.CreateOreVeins(terrain, random, xk, yk); TerrainHelpers.CreateOreClusters(terrain, random); RiverGen.Generate(terrain, random); int soilLimit = size.Depth * 4 / 5; TerrainHelpers.CreateSoil(terrain, soilLimit); int grassLimit = terrain.Depth * 4 / 5; TerrainHelpers.CreateVegetation(terrain, random, grassLimit); return(terrain); }