3D Cloth Textures – Part 2

This is the second video in our multi-part series on 3D Cloth Textures.

In this video we’re going to use Photoshop to create tiles from real-world images.

I should warn you that I am not a pro Photoshop user. I would consider myself to be a beginner at best. Photoshop and I don’t have a great relationship and I’ve spent a great deal of time trying to avoid the program in the past.

When I was commissioned to recreate about 100 fabrics from images I did two things. I purchased a Microsoft Surface Pro for drawing directly on the screen and I had to make friends with Photoshop.

Wayne was a Photoshop power user about 10 years ago, so he remembered enough to help me out when I got stuck. I’m sure there are a lot of ways to do the things that I’m about to show you, but this is what has worked for me.

I’ve done all the tasks ahead of time and will not be doing everything live. I’m trying to keep the videos a bit shorter, so you’ll just get summaries.

Let me know down in the comments, if you would be interested in some full length classes, showing the process in detail.

I’m sure most of this can be done in Gimp, too. I don’t have that program, but I know that it is very capable. I’m a adobe creative cloud subscriber, so I have PS to use. I know that not all of you can afford that luxury.

Let’s get started on our first fabric.

Pale Flower

Here is a simple cotton printed with flowers. You can see the image hasn’t been touched up or anything. This is straight from the camera.

I stood on a chair and shot down at the table to get the image as flat and straight at possible. This fabric was well ironed ahead of time. Wrinkles will cause you lots of problems.

The first thing to do is locate the pattern repeats. I’ve circled both the horizontal and vertical repeats to get an eye for what we will be working with. This repeat is pretty small and we have lots of samples to work with.

It is a good idea to get several repeats in your image. This allows you to choose the best one to use and avoid wrinkles or other undesirable things in the image.

You can see that the fabric is not square to the canvas. We need to fix this in order to create a repeatable tile. I’ve rotated the image so the pattern is square.

Next, we need to outline one entire pattern set. I used the paint brush to draw around the full set here.

If you look at the pattern closely, you’ll see that the pattern set repeats in rows that are offset.

Here I’ve got the set outline shown in four places. You will run into this a lot, it is very common. It is a good way for the fabric designer to create repeats that aren’t easily distinguishable.

All we care about is this one set for now. Using the Pen tool, I outlined this set following the painted line. I turned this selection into a working path. With the path selected, I cut out the pattern. Here’s the one set cut away from the fabric.

This fabric has a solid color background, so we are going to remove it all. Create a mask and remove the background and here is the result.

Next, we need to repeat our pattern set. Select the layer and then Edit Free Transform (or control T). This brings up the X and Y coordinates of this selection. Note these values. (X 1554, Y 1249.5) Hit the Cancel transform button to close.

Copy the layer and then move it over to the right holding Shift to keep it even. You’ll want to unhide one of the original layers so you can get approximate placement. Once you have it in place, Free Transform on this layer and note the X Y values. (X 2766, Y 1249.5) You can see that our Y value has not changed because it was perfectly parallel, but our X has changed by 1212.

Copy the first layer again. This time select Free Transform without moving anything. We know that we want this set 1212 to the left of the original, which was at 1554, so type in 342 for X. Make sure Y is still 1249.5 and click the Commit Transform button to save.

Now repeat this process for the row above. Copy the set layer and unhide the original. Place the set above the row. After you have it in place, Free Transform to get the XY coordinates, which are 962 and 429.5. You already know that the X value will be a difference of 1212, just like the prior row. Place two more sets on this row.

You’ll see that I create a folder to hold each complete row. Now that two rows are done, we know the difference between the two rows on the Y axis, which is 820.

Copy the folder with the top row. Select all of the layers and Free Transform. Add the 820 value twice to the Y value.
Now we have all the sets that we need and they are perfectly spaced to create our tile.

Create a new layer and fill it with the background color.

Use the guidelines to select one perfect tile. You will want to zoom up very close to make your selection. Once I’ve set one corner, I take a screen shot to use for setting the others. It is very important that the top/bottom, side-to-side selection is exact to the pixel.

If Photoshop is splitting pixels on you, hold down the shift key to make sure your lines are on the pixel edges.
Use the rectangular marquee tool to select within the guidelines. Select Ctrl Shift C to copy all layers. Then select Ctrl N. This will create a new image using just the contents of the clipboard. Select Ctrl V to paste your tile.

If you want to make sure your tile is perfect, you can do that in Photoshop. Select
Filter > Other > Offset and enter pixel values for the horizontal and vertical fields. Did you see what happened? Photoshop wrapped the image around and we would be able to see any problems with the tile.

Watch as I turn the preview button on and off. This is a great way to check your work before taking the image out to your graphics program.

Just cancel the Offset when you are done previewing it.

You’ll notice that this is not a perfect square. If you want to use real-world fabrics, most of them will not be perfect squares. That is not a problem for Blender. We can use this rectangle and it will tile beautifully.

This may have seemed a bit complicated, but it is logical so it is easy to remember. After you do it a few times, it will become much easier.

Here is our flower material rendered out. I applied a nice texture to it so it has some life. This is a sample garment that we’ll use later in Blender for testing.

We can size the pattern anyway we like, so we can have very small flowers or very large ones. Once you have tiled a nice fabric, the options are limitless.

Black Flower

Our next fabric is a woven cotton with a special highlight. Here is the image.

I outlined the pattern and then realized there is a problem. If you look at the guide lines, you can see that vertically the fabric is straight but horizontally it is not.

This is a serious problem. It won’t tile correctly and we need to fix it.

If you need to make a simple rotation adjustment, you can use the Move tool, grab a corner and rotate. That isn’t going to work when the fabric is distorted like this. We need to distort it back into square.

Select the Edit > Transform > Distort tool and use that to make the adjustment. Try not to change the fabric vertically, just horizontally. Watch the guidelines as you work. You may want to set a few guides so you can more closely monitor the change.

Here is the fabric squared up after using the distort tool. You can see that we are running on perfect lines up and down.
The next step is to drop out the background, as we did on the last fabric.

Here is another image of the fabric and you can see that there is a very small outline in a gold glitter all over the fabric. Now you will see why I purchased the Surface computer.

I took this over to that machine and traced around all the flowers, stems and leaves. Here is the result.

When you do this, make sure you put the outline on a separate layer. When we are working in Blender, we have to apply a different material to that outline glitter layer.

I did the outline in black, even though it will be a different color later. Always work in black and white whenever possible. It will help to isolate layers and details in your work. You can change layer colors in Blender very easily.

I put the outline and the set together in a folder, so I could work with them both at the same time. Using the same techniques as before, I created three rows with three sets per row.

I used the guidelines to precisely mark my repeatable tile. I went through all the layers and turned off the outlines. Then I copied all visible layers over to a new document.

Next I turned off the set layers and revealed all of the outline layers and made a copy. I pasted that over in the new document, too.

Here is the final tile. I can show and hide the two layers as needed when creating the fabric in Blender.

Tracing the outline was not difficult, just time consuming. You will never be able to create truly outstanding fabrics, if you aren’t willing to spend the time on the details.

Here is the fabric render from Blender. You can see that although this fabric in real life was a woven, I chose to make it a knit by applying a knit texture.

The gold highlights are very subtle and you only see them when the light hits the garment just at the right angle. This is perfect and exactly what we want. It shouldn’t be overwhelming, just a special touch that gives you the feeling of opulence.

Gold Trim

Our next project is some trim that I have. This trim is a bit strange and quite complicated, so it is a good example.

We only need one of these so I chose the one in the middle and then dropped out the background.

The biggest problem with trims is matching the sides as you chain them together when tiling. The only way to get the sides identical so they line up is to mirror them.

That is what I did here. I deleted one complete side of the trim and then mirrored it over to the other. Now the edges will line up perfectly when it is tiled.

You’ll notice that the top of the image is much darker than the bottom. This happens a lot, particularly with trims because they throw shadows.

The easiest way to fix this is to lighten only the top of the image.

Use a layer mask to hide the bottom half of the trim leaving only the areas that you want to lighten.

Then apply a Brightness/Contrast adjustment layer. Make sure that the adjustment layer is only assigned to the masked layer, not the other layers.

Turn on the lower layer to see the bottom of the image and then tweak the brightness until you like how it looks.

Use the guidelines to create your tile outline using the same methods as we used before. Copy it over to a new document.

I used the final tile to create a normal map and the diffuse map. Here’s the Blender render.

This would be suitable to use at a distance, but it will fail in close-ups. We simply can’t get the appropriate depth using a bump or normal map.

It is a good representation of the trim and would look very nice used sparingly on the right garment.

White Trim

Here’s another trim that I did. For this one, I isolated one small section and then copied it over to another document to work on it.

I did a mask to remove all the black background. I merged the mask and then I copied the layer twice and set them side by side. I had to increase the canvas width by 300%, to be able to place the copies and still see them.

They matched up pretty well, but I did a little touch up with the clone stamp tool to clean it up.

This working section is very tall and narrow, so I decided to make it a bit more square for the tile. I used the guidelines to mark my selection and copied the tile out.

Here is the trim rendered in Blender. I decided to show you this trim although it isn’t ideal. The white pearl beads will not hold up under close scrutiny. You can use a normal or bump map to get some depth, but a side view would quickly ruin the effect.
When choosing trims and laces, stick to those that are fairly flat to get realistic renders.

Cotton Lace

Here’s a piece of lace. I decided to do this one a bit differently.

As you can see, I’ve marked off only half of the design. I copied this section out to a new document and then mirror it over to the other side.

This guarantees that the edges will align exactly when it is tiled. I worked down the center on the mirror axis with the clone tool so the copy is not as apparent.

This type of thing is very subtle, but it definitely makes a difference. Remember that this will be repeated over and over. Something that isn’t apparent in one copy, often is in many, many copies.

Here’s the lace rendered in Blender. This turned out exceptionally well. This looks good close up and at a distance.
You could apply this lace to a ruffled pattern or a flat one and it would work very well.

Black Lace

Our last fabric is a lace, but it isn’t a trim. It is a lace fabric.

Sometimes you get extremely lucky and a photo is perfect for tiling. All the stars were in alignment when I photographed this lace.
I didn’t do anything to this image, just laid out the guidelines for the selection.

Once I got the tile over to its own document, I used the Filter Offset feature to see how it would tile.

Things did not line up exactly, but they are very close. In this case, I chose to apply the offset filter to the image.

Then I cleaned up that image. I can be confident that the new edges will tile perfectly, I just needed to clean up the horizontal and vertical offset lines.

This lace rendered beautifully. I changed it from a black lace to a rich wine color. It can be used for a lot of different clothing including formal wear and sexy under garments.


We covered a lot of different ways to make realistic fabric in this video. None of it was difficult to do, it just takes a bit of patience and time.

Using these techniques, you can created 3D fabrics and trims that will be hard to distinguish from their real world counterparts.
Even if you don’t have to create exact replicas of real fabric, you should practice what I’ve shown you. In the process, you’ll learn a lot about how real fabrics are made and the different design techniques. That knowledge will be really useful when you start to design your own fabrics.

Sometimes working from an image is not practical, so you’ll need to know how to draw fabric from scratch. That will be the subject of the next video in this series.