- Home /
Voxel terrain with heights based on biomes
I have a voxel based terrain generation which is created by using the perlin noise function. And it already divides the terrain in different biomes based on heat and rainfall.
These are the functions i use to generate the rainfall, heat and height.
float rainfall = (Mathf.PerlinNoise(((x + this.chunkpos.x) + seed) * 0.01f, ((z + this.chunkpos.z) + seed) * 0.01f));
float heat = (Mathf.PerlinNoise(((z + this.chunkpos.z) + seed) * 0.01f, ((x + this.chunkpos.x) + seed) * 0.01f));
int biome = getBiome(rainfall, heat);
int y = (int)(Mathf.PerlinNoise(((x + this.chunkpos.x) + seed) / (detailScale), ((z + this.chunkpos.z) + seed) / (detailScale)) * (heightScale));
But i want the different biomes to have different heights. Like the desert biome is mostly flat and the hills biome has a lot of hills. If i change the heightscale based on the biome id it generates the terrain mostly the same but on the biome borders its a few block higher or lower.
Any ideas? Thanks in advance!
(If you need more info, just ask!)
Your answer
Follow this Question
Related Questions
Minecraft-like ore generation 1 Answer
How can I create voxel based terrain ? 2 Answers
how to create chunks in voxel terrain generation 1 Answer
3d Perlin Noise? 3 Answers
How can I correctly offset seeded perlin noise over multiple terrains? 1 Answer