How to create procedural patterns?

Hi, I was wondering how can someone create a procedural pattern, specifically a Gambeson style pattern like this:

I need a seamless gambeson material to use as a texture, and I wanted to know how you could create this in Blender.

Almost anything is possible, including bulges per tile, random bulges, and stitches, as long as it’s done in a nice tile fashion. What are you after; the tiling, bulging, stitching, or just the color variation? If so we’d need a proper closeup of the material. I know we can do seamless 2D textures in both directions now that we have 4D inputs (I’ve done it ages ago), but I can currently only do seamless in one direction. However, for any piece of fabric shaped into clothing, there will be seams, so why seamless? Making it seamless would introduce stretching since it’s based on cylindrical coordinate lookup - meaning only a cylinder would have no stretching. Even though stitching is possible, I would likely only use is as a guide on where to paint in real looking stitches. Unless I got lazy. Which I would :smiley:

Well, something like this:

I would want it seamless to avoid issues on the arms. The arms have a seam to spread them, and one side never matches the other, and trying to match it manually is really annoying, unless there is an automatic way of doing that, I don’t want to do it.

That’s why I prefer it to be procedural and seamless, to avoid all the seam nonsense.

You don’t. You create an actual seam. Show me a real gambeon without a seam for the arms. These flat pieces of material are sown into “cylinders”, then sown onto neighboring pieces of “cylinders”. And those seams create visible seams. Even something as soft as a cotton t-shirt will have them. Don’t dream of a seamless world where none exist in the first place. And in images you can see that the pattern at seams are clearly not seamless. In many the seams are not only visible, but made a decorative feature of the part.
The one I looked up had double stitching. Here I have not matched the UV space, so suzannes ears are denser, but it uses UV space as fabric/clothing should. Also I didn’t have a closeup at the time, so no details on the interior tiles:


And here are the nodes I used to create it. The node group contains just what is inside or outside a given 0-1 range.

I’m not going to do it for you, but I’ll teach you how to fish :slight_smile: There should be enough here to get you started with something of your own.
So yeah, I think this should be fairly easy to do - gambeon in UV space, but it can’t be seamless or it would stretch like crazy because seamless involves full 0-1 U range to wrap it around - completely unsuitable for clothing for these kinds of things. Similarly, doing a gambeon in 3D object space is impossible. Finally, doing a gambeon in 3 projected 2D spaces would also introduce seams, but much worse ones that the ones that would occur naturally in UV space.

1 Like

Wow. Honestly, this answer is great. I mean you have a point. Clothes have seams and as you said sometimes gambesons were decorated on them. I just don’t really know how to model good looking natural seams on clothing, so I wanted to avoid them. xD

But I think with this answer, I’ll be able to understand how to make things similar to this. Right now, it looks very confusing though. :stuck_out_tongue:

Thanks for the help though.

In that case, I don’t see much other option that to paint them in on a properly unwrapped object. I can’t stand painting in Blender myself though, as the undo system keeps resetting everything. I know, I’m probably just doing it wrong. Maybe you can draw the seams onto the object as curves and by magic transfer the curve to a texture? Would have to be very thick curves so you get enough gradient to use as displacement/bump.
In some other cases, seams are just inward bumped surfaces that are sown on the “inside”. For these ones you could draw a gradient mask around where your seams are and use this. Just a video showing how garments aren’t “seamless” when sown together. These are knitted to really emphasize the point: