This question is a follow-up to this one, which fortunately I was able to successfully solve with the help of @Chris and @MarkusvonBroady:
How to create a seamless diagonal wavy pattern with opposing waves?

Now, on my shader nodes learning path, I'm trying to apply a gently noise to the pattern that smoothly follows the wavy curve.

I managed to get a noise into the pattern that is about what I imagine:

enter image description here

Only I am not clear with which parameters I should control this "distortion". My goal would be to add noise that slightly conforms to the curve, as seen in this bumbling sketch:

enter image description here

Any ideas?

(Blender 3.4+)


1 Answer 1


The setup thickens vertical (mute rotation to see originally it's $y$ axis) stripes using the height, so using $y$ which is passed to a sine. Since sine is symmetric/continuous (like ping-pong, not like wrap), you know by how much you thicken, but not in which direction. So use the input to the function, wrap in $0..τ$ range and check the distance to $π$ (that's the middle of the stripes), then do some calculation based on that distance, here I'm just arbitrarily multiplying it by $-0.18$, but you could use a map range for example… Maybe you want to → absolute → map range / power → multiply → sign instead.

  • $\begingroup$ Fantastic! This is exactly what I was looking for. Thanks for letting me learn something interesting from you! ...I like shader nodes more and more ;-) $\endgroup$
    – quellenform
    Commented May 28, 2023 at 12:18

You must log in to answer this question.

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