This is an old revision of the document!
Generarea procedurală de biomes este o tehnică utilizată pentru a crea lumi virtuale cu zone cu proprietăți geografice distincte (ocean, deșert, junglă, tundră etc.). Fiecare biome este caracterizat de condiții climatice specifice, vegetație și relief. Astfel, în acest laborator se va implementa un sistem simplificat de generare de biomes pornind de la două hărți de zgomot și clasificarea acestora pe baza modelului Whittaker.
Pentru a îmbunătăți realismul terenului generat, tereneul se poate genera folosind fractal noise, care combină mai multe straturi (octave) de zgomot Perlin la frecvențe și amplitudini diferite. Fiecare nouă octavă introdusă adaugă un nivel de detaliu:
float CalculateFractalNoise(int x, int y)
{
for (i = 0; i < octaves; i++)
{
xCoord = (float)x / width * scale * frequency;
yCoord = (float)y / height * scale * frequency;
perlinValue = Mathf.PerlinNoise(xCoord, yCoord) * 2 - 1;
noiseHeight += perlinValue * amplitude;
amplitude *= persistence;
frequency *= lacunarity;
}
return (noiseHeight + 1) / 2; // Normalize to 0 - 1
}