Esempio n. 1
0
    void ShowNoiseStatistics()
    {
        float minVal = float.MaxValue;
        float maxVal = float.MinValue;
        float avgMin = 0;
        float avgMax = 0;

        noiseMap.Generate();
        avgMin += noiseMap.minValue;
        avgMax += noiseMap.maxValue;
        if (noiseMap.minValue < minVal)
        {
            minVal = noiseMap.minValue;
        }
        if (noiseMap.maxValue > maxVal)
        {
            maxVal = noiseMap.maxValue;
        }
        for (int i = 0; i < extraIterations; i++)
        {
            noiseMap.Generate(new Vector3(noiseOffset.x + i * diameter, noiseOffset.z));
            avgMin += noiseMap.minValue;
            avgMax += noiseMap.maxValue;
            if (noiseMap.minValue < minVal)
            {
                minVal = noiseMap.minValue;
            }
            if (noiseMap.maxValue > maxVal)
            {
                maxVal = noiseMap.maxValue;
            }
            noiseMap.Generate(new Vector3(noiseOffset.x, noiseOffset.z + i * diameter));
            if (noiseMap.minValue < minVal)
            {
                minVal = noiseMap.minValue;
            }
            if (noiseMap.maxValue > maxVal)
            {
                maxVal = noiseMap.maxValue;
            }
            avgMin += noiseMap.minValue;
            avgMax += noiseMap.maxValue;
        }
        Debug.LogFormat("Noise Values: Min: {0}, Max: {1}, Avg Min: {2}, Avg Max: {3}", minVal, maxVal, avgMin / (1 + extraIterations * 2), avgMax / (1 + extraIterations * 2));
        Debug.LogFormat("Noise Range: {0}", noiseMap.trueAmplitude);
    }