Training Stream - The Alan Willard Hour - June 21st

We’re trying to generate terrain with a rocky shape to it.

The terrain is an array of cubes which border each other, so we’re also wanting to have each block of terrain slot into the next one, leaving no gaps. We have tried factoring in vertex normal (like in your great fireball tutorial), and this leads to large gaps between the blocks.

The technique we’re looking at right now is using a WorldPosition-driven noise function outputting -1 to 1 to drive the displacement directly, with tesselation to add vertices to our simple cube mesh - this works great as vertices are displaced in the same direction based on the noise function, “jigsawing” them.

However we’re stuggling to find a way to generate the noise in a way which leads to an omnidirectional displacement, as the noise function is either positive or negative for the entire vector -

  • we have tried combining 3 noise functions to form a vector by appending, and this does work for jigsawing and omnidirectional displacement. (E: but it looks extremely jagged)

But are there any clever/more efficient methods we may have missed?

Thanks for reading :smiley: