3
$\begingroup$

How to create seamless/repetitive silhouette mountains to plane object in a procedural way?

Example mountain silhouettes shapes: enter image description here

$\endgroup$

1 Answer 1

11
$\begingroup$

Make a Noise texture repeat on the X axis by tiling its X coordinate.

Separate your texture coordinate components with a Separate XYZ node, then drive the X component through a Converter > Math > Wrap node. Feed this as input for the vector socket s Noise texture.

Connect the output of noise to a Color Mix node, combining the other socket with the untoched Y coordinates from the Separate XYZ node.

Run the output through a Color Ramp set to Constant.

You can control the frequency of the tiling from the Max value of the Wrap node, the frequency of the mountain roughness from the Noise texture Scale parameter, and the range of heights from the Mix factor of the Color Mix node.

enter image description here

Mix more Noise nodes or even use different textures to get different skyline contours with varied serrated patterns.

$\endgroup$
9
  • $\begingroup$ Exactly what I'm looking for. Thank you for this clever answer. $\endgroup$ Oct 12, 2021 at 16:19
  • 1
    $\begingroup$ Very nice solution! $\endgroup$
    – Ed Tate
    Oct 12, 2021 at 19:17
  • 2
    $\begingroup$ For the Wrap I would instead feed the X into a sine cosine pair and recombine as a 2D input for the noise such that the nasty cutoff is at 0 and 1 gets smoothed out. $\endgroup$
    – sybog64
    Oct 12, 2021 at 22:44
  • 1
    $\begingroup$ Indeed, good point. I though of that too late after posting, but haven't found the time to update $\endgroup$ Oct 13, 2021 at 0:07
  • $\begingroup$ you can also sampe 2d texture in a circle then its seamless. and you dont have to deal with the blending. $\endgroup$
    – joojaa
    Oct 13, 2021 at 9:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .