public override Task OnActivateAsync() { _densityMap = new float[5, 33, 5]; _depthMap = new float[5, 1, 5]; _mainNoiseMap = new float[5, 33, 5]; _minLimitMap = new float[5, 33, 5]; _maxLimitMap = new float[5, 33, 5]; _surfaceMap = new float[16, 1, 16]; _seed = (int)this.GetPrimaryKeyLong(); _random = new Random(_seed); _depthNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _mainNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _maxNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _minNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _surfaceNoise = new OctavedNoise <PerlinNoise>(new PerlinNoise(_random.Next()), 8, 0.5F); _biomeWeights = new float[5, 5]; for (int i = -2; i <= 2; ++i) { for (int j = -2; j <= 2; ++j) { float f = 10.0F / (float)Math.Sqrt((i * i + j * j) + 0.2D); _biomeWeights[i + 2, j + 2] = f; } } _biomesForGeneration = new Biome[16, 16]; _genlayer = GenLayer.InitAllLayer(_seed); return(Task.CompletedTask); }
public void TestOctavedPerlinNoise3D() { const int xExtent = 100; const int yExtent = 100; using (var file = File.OpenWrite(Path.Combine(RootDir, "OctavedPerlinNoise3D.bmp"))) using (var image = new Image <ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent)) { var noise = new OctavedNoise <PerlinNoise>(new PerlinNoise(100), 8, 0.25f); var noiseValue = new float[xExtent, yExtent, 1]; noise.Noise(noiseValue, new Vector3(-10, 10, -10), new Vector3(0.1f, 0.1f, 0)); for (int x = 0; x < xExtent; x++) { for (int y = 0; y < yExtent; y++) { var color = (byte)(noiseValue[x, y, 0] * 255); image[x, y] = new ImageSharp.PixelFormats.Rgb24(color, color, color); } } image.SaveAsBmp(file); } }
private void Awake() { noise = new OctavedNoise <PerlinNoise>(new PerlinNoise(seed), 8, 0.5f); }