I'm trying to get this pattern to repeat seamlessly so I can export it to a game engine. It's not too hard to get it working when the stripes are horizontal or vertical, but I'm struggling with the rotation. the stripes have to be slightly irregular, so they cannot be 100% parallel.
I'm just using a mapping node small x, large y scale and rotated around z 315°. Solutions outside of Blender are welcome, too.

enter image description here

EDIT: here is the node setup.
enter image description here

  • 1
    $\begingroup$ Hi. Could you describe the way strips are randomized/irregular (as I think the solution should depend on that). $\endgroup$
    – lemon
    Oct 16, 2020 at 11:09
  • $\begingroup$ I added it via edit. $\endgroup$ Oct 16, 2020 at 11:22
  • $\begingroup$ With Gimp, you can simply use the "Make Tileable" filter. Of course a Blender procedural solution would be better. $\endgroup$
    – thibsert
    Oct 16, 2020 at 12:07
  • $\begingroup$ Gimp offsets the texture 50% in x and y and blurs/fades the seams. As you can see in my question this wouldn't suffice, because with such thin stripes the fade doesn't work well and also I need the stripes to be consistent, not blurred in the middle. $\endgroup$ Oct 16, 2020 at 16:00

1 Answer 1


For a 45° angle that can be done from generated texture coordinates with "X+Y distance" and the euclidian distance from the square center.

enter image description here

enter image description here

The node tree is in two parts:

  • Top line calculates the main diagonals
  • Bottom line adds random to it

top line

Add X + Y or 1 - X + Y to invert the direction.

Take the modulo in order to repeat regularly the diagonals.

Plug it back as X to the noise texture.

bottom line

This part is to add random variations along the diagonal.

As we want it to be symetrical, we take the distance from the center.

Then we divide the value so that it as less influence (compared to the main diagonal) for the noise texture.

And plug it as Y input of the noise texture.

noise texture

Use its scale to play on the thickness of the lines (adapt the Y influence scale in consequence).

  • 1
    $\begingroup$ Absolutely awesome. Thank you for putting so much detail into your answer. $\endgroup$ Oct 16, 2020 at 15:57

You must log in to answer this question.

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