public void BuildMap() { //initialzing settings objects hmSettings = new heightMapSettings { Octaves = octaves, Frequency = frequency, Lacunarity = lacunarity, Quality = quality, Seed = seed, Persistence = persistence }; thisChunk = new worldChunkSettings //need to move this out of this class for tiling world chunks { mapHeight = _mapHeight, mapWidth = _mapWidth, top = 0, bottom = 1, left = 2, right = 3 }; mmSettings = new moistureMapSettings { Octaves = MMoctaves, Frequency = MMfrequency, Lacunarity = MMlacunarity, Quality = MMquality, Seed = MMseed, Persistence = MMpersistence }; //build maps HeightMap = new heightMap(thisChunk, hmSettings); HeatMap = new heatMap(thisChunk); ComboMap = new combinedHeightHeat(HeightMap, HeatMap, thisChunk); MoistureMap = new moistureMap(thisChunk, mmSettings, HeightMap); BiomeMap = new biomeMap(HeightMap, ComboMap, MoistureMap, maskWater); //Debug.Log("map seed "+hmSettings.Seed); //find game objects and build textures for each map HeightDisplay = GameObject.Find("HeightMapObj"); HeightDisplay.GetComponent <Renderer>().sharedMaterial.mainTexture = textureFromMap.BuildTexture(HeightMap); //Debug.Log("Perlin point:" + HeightMap.GetValue(100, 100)); HeatDisplay = GameObject.Find("HeatMapObj"); HeatDisplay.GetComponent <Renderer>().sharedMaterial.mainTexture = textureFromMap.BuildTexture(HeatMap); //Debug.Log("Gradient Noise value:" + HeatMap.GetValue(0, 10)); ComboDisplay = GameObject.Find("ComboMapObj"); ComboDisplay.GetComponent <Renderer>().sharedMaterial.mainTexture = textureFromMap.BuildTexture(ComboMap); MoistureDisplay = GameObject.Find("MoistureMapObj"); MoistureDisplay.GetComponent <Renderer>().sharedMaterial.mainTexture = textureFromMap.BuildTexture(MoistureMap); BiomeDisplay = GameObject.Find("BiomeMapObj"); BiomeDisplay.GetComponent <Renderer>().sharedMaterial.mainTexture = textureFromMap.BuildTexture(BiomeMap); }
private void fill(worldChunkSettings chunkSettings, moistureMapSettings settings, IMap heightmap) { RidgedMultifractal baseMap = new RidgedMultifractal(); baseMap.OctaveCount = settings.Octaves; baseMap.Frequency = settings.Frequency; baseMap.Lacunarity = settings.Lacunarity; baseMap.Seed = settings.Seed; Turbulence distortion = new Turbulence(.2, baseMap); Add adjustedMoisture = new Add(distortion, heightmap.GetCache()); this.moistureCache = new Cache(adjustedMoisture); Noise2D final = new Noise2D(chunkSettings.mapHeight, chunkSettings.mapWidth, adjustedMoisture); final.GeneratePlanar(chunkSettings.left, chunkSettings.right, chunkSettings.top, chunkSettings.bottom, isSeamless: true); noiseData = final.GetData(); }
public moistureMap(worldChunkSettings chunkSettings, moistureMapSettings settings, IMap heightmap) { fill(chunkSettings, settings, heightmap); }