1
$\begingroup$

To make a good noise for terrain generation you can hook up a noise texture to the scale of another noise texture. I like using this, but I noted one limitation- if the texture coordinates become displaced too far it does keep a constant pattern. You can visualize this well by viewing the volume of the output- the noise seems to stretch out directly away from the origin point of the object the farther away it goes. Why? How can I prevent this?The noise seems to stretch out

$\endgroup$
  • $\begingroup$ Probably because you are plugging the noise output into the scale value of the second texture rather than its vector. You also seem to be using the Factor output, which in terms of vectors would probably be the equivalent of a 2D deformation, rather than uniform on all axis. $\endgroup$ – Duarte Farrajota Ramos Oct 26 '18 at 1:23
  • $\begingroup$ Procedural textures should generally never have variable scale - since the scale affects the "size" of the pattern in relation to the origin, varying the scale close to the origin will have small effects while this is magnified the further the point is from the origin (as all that space between the origin and the point has been scaled by the same amount). What effect are you trying to achieve? Perhaps there is a way of achieving it without having variable scale. $\endgroup$ – Rich Sedman Oct 26 '18 at 5:54
  • $\begingroup$ The idea was to create a noise with a varying scale to create more realistic terrain, and this method actually works quite well you will find, but only at a default object scale. Is there any way to achieve something similar without creating this porblem? $\endgroup$ – Rick Yarborough Oct 26 '18 at 23:39
1
$\begingroup$

Procedural textures should generally never have variable scale - since the scale affects the "size" of the pattern in relation to the origin, varying the scale close to the origin will have small effects while this is magnified the further the point is from the origin (as all that space between the origin and the point has been scaled by the same amount).

A better solution is to distort the texture coordinates to 'compress' or 'expand' different regions of the texture based on the noise, rather than adjusting the scale. This will have an effect that is consistent regardless of distance to the origin.

For example, consider the following nodes :

material

Here's instead of the Noise varying the scale, the noise is combined with the coordinates to shift them a varying amount. This varies the rate of change of the vector as it moves across the texture, compressing some regions and expanding others. This can produce the following result :

result

Varying the properties of the Noise affects the frequency of the distortion and the Value node used for the multiply will affect the strength.

$\endgroup$
  • $\begingroup$ Yeah, I have used this before. But thanks :) $\endgroup$ – Rick Yarborough Oct 27 '18 at 18:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.