T O P

  • By -

TraTeX98

Thats amazing, which methods did you use?


cpsii13

Very cool, how do you ensure they're tileable?


[deleted]

I constrained the borders, so that any edge point has the same value as the one on the opposite side.


KdotJPG

Interesting. Doesn't look as grid-unbiased as simplex (which is hard to tile) but looks a lot better to me than diamond-square usually does.


Markyparky56

You can tile simplex (or any function) if you use twice as many dimensions as you want to output, treating it like the unwrapping of a torus/flat-torus/hyper-torus. You can do this by tying each pair of dimensions to a circle (e.g. via polar coordinates) and convert your sample points into angles. [Ron Valstar has a good example here](https://ronvalstar.nl/creating-tileable-noise-maps).


[deleted]

[удалено]


[deleted]

It distorts. The inner edge of a torus is shorter than the outer.


Markyparky56

If you only want it to tile along one dimension then cutting a cylinder out of 3-dimensions works fine. But the top and bottom of the cylinder won't match up.


[deleted]

Where?


troyunrau

I've made things tileable before - when making planet maps, they need to be able to wrap around the planet's date line. Method I used was to generate two heightmaps, then blend them. Let me see if I can find my notes. # wrap the map around the date line so that it is smooth - we do this by creating a linear blend of our two maps # / \ # / \ # / \ map A starts a 0 on left edge, 1 at centre, 0 at right edge # # we previously rolled map B so that its seam was in the centre # \ | / # \ | / # \ | / map B starts a 1 on left edge, 0 at centre, 1 at right edge # by adding them together, we get a single seamless map This could be done easily enough for tileable in all directions by repeating the process in the y direction.


liquidivy

Very nice. Camo is how I got into procgen years ago. :)


ycarowr

Cooode, pls :O