Skip to main content
13 votes
Accepted

How can I tile Perlin noise to more accurately represent a world map?

For this particular mapping, I'd stick to 2D Perlin noise. To recap, 2D Perlin noise works by... dividing space into square cells, and examining the one cell our sample point falls inside picking a ...
DMGregory's user avatar
  • 135k
11 votes
Accepted

How can I create a six sided tillable perlin noise image?

I don't recommend using the "increase the dimensions and orbit in a cylinder" trick here. It has several disadvantages: More expensive to compute: Perlin noise needs to select and ...
DMGregory's user avatar
  • 135k
10 votes

Minecraft style world generation

What you are looking for is Fractal Noise generation algorithms, the most popular of which being Perlin noise with successive octave noise generation (in addition to simplex noise, which is patented ...
Krupip's user avatar
  • 1,763
9 votes
Accepted

Unwanted Perlin Noise result

You will need to learn how the terms Octave, Persistence, Frequency, and Lacunarity are used. What you have is a good first step, it looks just like noise should. The basic idea is that you need to ...
Patrick Hughes's user avatar
8 votes
Accepted

3D terrain generation: geological slices and noise function

(1) Using the same perlin seed (map) as used for terrain You could treat ranges in the perlin result as different materials. Thus at a certain threshold, you transition from air / vacuum to matter, ...
Engineer's user avatar
  • 30k
7 votes

How can I tile Perlin noise to more accurately represent a world map?

You have conflicting goals. A flat 2D map that wraps along the X & Y axis doesn't map to a sphere, it maps to a torus (donut). To visualize this, imagine you have a sheet of elastic. First, bend ...
Pikalek's user avatar
  • 12.4k
6 votes
Accepted

Perlin Noise unwanted artifacts

I don't entirely understand why, but I shouldn't have been doing 1-normX/Y. Instead, I looked at the question posted here and our approaches were similar enough that I could make It work. Changing ...
Paraxon's user avatar
  • 136
5 votes

Procedurally generated terrain that has some caves

You'll probably want to do a 2nd pass and carve caves after doing the regular quick height-map generation pass. Find a steep slope in the low-frequency height map layer (if you use multiple ...
Stephane Hockenhull's user avatar
4 votes

How can I generate Worms-style terrain?

I actually implemented this starting from bummzack excellent answer. Here are the steps I ended up with: Generate an image with Perlin noise Floodfill where you want some terrain Dilation + erosion ...
Julian Go's user avatar
  • 141
4 votes
Accepted

How do you technically represent a procedurally-generated map in the scene?

I myself am a procedural loving person and I have done a lot of PCG. From experience, I can say that procedural generation is too broad to define on "how to do it". There are lots of ways on how you ...
Candid Moon _Max_'s user avatar
3 votes
Accepted

How can you use Fractals to perturb an image?

Domain warping What helped me wrap my head around the problem you describe is the following. I used to think of this problem as: ...
Jelle van Campen's user avatar
3 votes
Accepted

How to make noise-generated terrain more square?

Try using nearest neighbor scaling. Here's my reference 100x100 noise texture & the same noise texture after posterizing to 4 levels: Now here's the same noise, starting at lower 10x10 ...
Pikalek's user avatar
  • 12.4k
3 votes

How to make noise-generated terrain more square?

If you really want the terrain to look blocky you can use value noise which is blockier than perlin noise (image source — attributed to Inigo Quilez)
Jão's user avatar
  • 183
3 votes
Accepted

How does this hash function work in this perlin noise implementation?

That 41 is an arbitrary prime number value that happens to look good. You want to values to be perceived as repeating as little as possible coming out of the hash function. One good way to do that is ...
Stephane Hockenhull's user avatar
3 votes
Accepted

Creating a set of islands by subtracting gradient values from a Perlin noise

You can blend noise together easily, the concept is pretty simple. You essentially loop through each noise value, and perform an operation on the data, and then save the result. It is also a good ...
jgallant's user avatar
  • 8,424
3 votes
Accepted

Perlin noise looks uncoherent on higher z

Here: perlin.lerp(v, perlin.lerp(u, perlin.grad(self[AB + 2], x , y , z - 1), This should have AA + 2 instead.
sam hocevar's user avatar
  • 23.9k
3 votes

How to blend biomes with procedural terrain

While this is an old question, I feel like I have something useful to contribute. The world generator I'm currently building uses two functions for each biome \$i\$: The classical heightmap-function \...
LukeG's user avatar
  • 1,547
3 votes
Accepted

Zooming in on procedural generated 2D terrain? (LOD)

Lets define your noise function for terrain generation as f(x,y). f(x / 2, y) will set the zoom on the X axis to 200% ...
Lucien's user avatar
  • 1,176
3 votes
Accepted

The GameObject transform automatically sets to (0, 0, 0) when i apply Perlin Noise

You told it to set the scale to zero when you wrote textureRender.transform.localScale = new Vector3(); That's because a new Vector3 is initialized to (0,0,0). ...
Wyck's user avatar
  • 161
3 votes
Accepted

How can Perlin Noise be modified to not tile?

It sounds like you already know the solution to your problem: replace the initial 256-entry table lookup with a hash/digest of the whole coordinate value, not just the low 8 bits. From there the only ...
DMGregory's user avatar
  • 135k
3 votes
Accepted

How to distort 2d perlin noise?

It sounds like you want an effect called Domain Warping. This is when you layer your noise using function composition: First you sample some noise based on your input position Then you add the ...
DMGregory's user avatar
  • 135k
3 votes
Accepted

Perlin Noise generation always returning zero

A quick recap of how Perlin noise works: It starts by finding the cell your sample point lands in within an integer lattice. From that it determines the integer points that define the corners of that ...
DMGregory's user avatar
  • 135k
3 votes
Accepted

Generating different maps using Perlin Noise with a seed

Looking in the code, the library provides noise.randomize() which states: Randomize the permutation table used by the noise functions. This makes them ...
Pikalek's user avatar
  • 12.4k
3 votes
Accepted

How to make many perlin noise function match

Do not assign a biome per chunk. Instead, compute your biome as a function of position. There are a few popular ways to do this... Compute the low-frequency levels of your height map first (the ...
DMGregory's user avatar
  • 135k
3 votes
Accepted

Why does my Perlin Noise Terrain have rough parts on the edges?

According to this, Unity's Mathf.PerlinNoise is symmetrical. That seems to be the root of your problem. https://forum.unity.com/threads/perlin-noise-symmetrical.390981/ That's not the only reason I ...
KdotJPG's user avatar
  • 319
3 votes
Accepted

Find Largest Room in 2d World

To start with, we need to break down what is meant by room or cave. With respect to the 2D array in the problem description, a room is a collection of elements that are 'connected'. For any given ...
Pikalek's user avatar
  • 12.4k
2 votes

1D Perlin Noise Game in Unity

The gaps at the bottom of the screen appear to be a result of your platforms having a fixed height, and some of them being shorter than necessary to reach the bottom of the screen. The simplest ...
Alex Sherman's user avatar
2 votes
Accepted

Perlin noise terrain issue when scrolling

You seem to be adding and removing points with inconsistent logic. At first, you create 1 point per step in your loop (because there is room left in the points array). Then you wait for point removals ...
rcpinto's user avatar
  • 305
2 votes
Accepted

Perlin Noise' gradient

The gradient is between the dot products of vectors to corners and randomly chosen vectors. The pre-computed table you are looking at is likely part of the hash-function. (used to generate random ...
Tuukka Lahtinen's user avatar
2 votes
Accepted

Procedurally generated terrain that has some caves

A blog post at the accidental noise library addresses exactly this issue. It offers the solution of perturbing the xy values, and of a single-pass implicit solution that creates caves that narrow as ...
Bram's user avatar
  • 3,719

Only top scored, non community-wiki answers of a minimum length are eligible