Пример #1
0
    public void CalcDensity()
    {
        float sum   = 0;
        int   count = 0;

        for (int x = (int)bounds.xMin; x < bounds.xMax + 1; x++)
        {
            for (int z = (int)bounds.zMin; z < bounds.zMax + 1; z++)
            {
                Vector2Int globalPoint = new Vector2Int(x, z);
                Vector2Int localPoint  = GetLocalCoord(globalPoint);

                //float density = CalculateDensityAt(x, z);
                float density = TerrainGen.CalculateDensityAt(globalPoint);

                if (terrainHeightMap[localPoint.x, localPoint.y] > 0)
                {
                    sum += density;
                    count++;
                }

                densityMap[localPoint.x, localPoint.y] = density;
            }
        }
        avgDensity = sum / count;
    }