private float[,] CreateSimplexNoiseMap(int resolution, int octaves, float persistence, float scale, SimplexNoiseGenerator noiseGen, Func <float, float> tween) { var values = new float[resolution, resolution]; var minValue = 1.0f; var maxValue = -1.0f; for (int iv = 0; iv < resolution; iv++) { for (int iu = 0; iu < resolution; iu++) { double u = (((double)iu / resolution) * 2.0f - 1.0f) * scale + 0.5f * Offset.x; double v = (((double)iv / resolution) * 2.0f - 1.0f) * scale + 0.5f * Offset.y; float value = (float)noiseGen.EvaluateFractal(u, v, octaves, persistence); //Hack, the thing returns mostly between -0.7 and -0.7 for 8 octaves value /= 0.87f; value /= (1.0f - 0.4f * persistence); value = (value + 1.0f) / 2.0f; values[iu, iv] = tween(value); minValue = value < minValue ? value : minValue; maxValue = value > maxValue ? value : maxValue; } } /* * Debug.Log(minValue); * Debug.Log(maxValue); */ return(values); }