Generating a temperature map with Perlin noise

Hi
I want to add biomes to my procedurally generated terrain system but for that I need to make a temperature map, the problem is I am new to this topic and I don’t really know how would I do that. I want to use the math.noise function but I have no idea what parameters to put in except the seed.
It should look something like this I think:

math.noise(seed, something, something) * something
1 Like

On your generated terrain system have you any source of heat or coldness, apart from the sun.
I ask as I would have decide on those first and then used distance from those to help determine the temperature at the location and mark the terrain with some marker, perhaps a colour, red for hot and blue for cold.

I don’t have any source of heat, I just want a noise map to “randomly” generate it just like it does for the terrain. So like a number between a -20 to a 35

yes, there is no specific order you need to put in the parameters, you’ll just have to divide your x, z, or y if you’re doing 3d perlin

if your parameters are whole numbers then it will just output “-0” or “0” so try dividing them by some number

for example

local seed = math.random(100000)
local ratio = 3
local amplitude = 5
math.noise(x / ratio, z / ratio, seed) * amplitude

the ratio variable decides the scale of your perlin
0.1 ratio:
image
1.1 ratio:
image

the amplitude is just if you want a wider number range as a result

after all you’re going to have to play around with perlin noise a lot because it’s not predictable at all, and requires a lot of time to achieve a perfect result

2 Likes