How to Apply Textures to Uneven Surfaces with Photoshop

This tutorial is intended for intermediate Photoshop users, or really patient, focused, and keen beginners. For the purposes of this tutorial I’ve selected a photo of a nebula as a texture and the portrait as the surface that I will apply it to, but you can choose any sort of a texture and apply it to any uneven surface of your choice (e.g. you can apply a grass texture to the photo of a cat) using the same principles.

If you decide to apply the texture to a face (like we will do in this tutorial), try finding a photo in which the face has as clear edges as possible (mostly applies to photos of girls with their hair let down).

Using a Quick Selection tool, select the area you will apply the texture to. You can use Refine Edge option if necessary, depending on the contrast and if there’s any hair obstructing the face.

Invert selection (Cmd/ Ctrl + Shift + I or Select>Inverse) and delete the background.

Place the photo of the texture on top of the cut out area.

Hide the layer containing the texture and go to the Channels window (in case it’s on activated already, you can do so by going to Windows>Channels).

Try switching on and off different channels to see which one of them offers the best contrast.

Once you find it (in this case it’s the Green one), right click on it and select Duplicate Channel..

When the new dialog window opens select New as the Document Destination, and confirm by clicking OK.

In a newly opened file, go to Filter>Blur>Gaussian Blur.

Adjust the blurriness so the photo is still recognizable, but the sharp edges are lost. This will depend on the photo resolution, but in this case 2.0 Radius works just fine.

Open Levels window (cmd/Ctrl + L) and drag the Input Levels sliders to a position similar to that in the screenshot. Basically, you want to keep the middle one where it is while moving the other two as close to the curve’s starting and ending points as possible, without having too large strictly black/white areas.

Save this newly created file with a .PSD extension and close it. Name it displace, or something similar, as this is what you’ll be using it for later.

Go back to the original file and switch on all the channels again.

Make the texture layer visible, and go to Filter>Distort>Displace. Set both the Horizontal and Vertical Scales to 4, make the Displacement Map Stretch To Fit, and the Undefined Areas should Repeat Edge Pixels.

When the new dialogue window opens asking for a source file, select the displace.psd file you’ve created earlier.

You will notice that the filter displaced some parts of the texture (circled in red below). However, this is only the beginning of the process.

Chances are that once you switch on the face layer the displaced texture won’t exactly match it, so you’ll need to move one of the layers a little bit. Look for distinctive bumps or wrinkles on the surface (in this case lips will do), and use them as a reference point to align layers.

Now duplicate the texture layer twice. Keep one at normal blending mode and 100% opacity at the bottom. Set the remaining two to Multiply with an opacity of 100%, and Normal at 40% opacity, and position them as in the screenshot below.

Command click on the layer with the face to create a selection.

Select the Normal 40% layer and got to Layer>Layer Mask> Reveal selection, and then repeat for the Multiply texture layer.

Zoom in as much as you need and use Pen tool to draw around the eyes and the mouth, then press command-click on the Path thumbnail to create a selection.

Select the Normal 40% Layer Mask to work directly on the Mask. Make sure black is selected as the background color, and then delete the selection from the Layer Mask. Repeat this for the Multiply Layer as well.

This will make the eyes and the teeth visible.

Go to Layer>New Adjustment Layer>Curves.

Adjust the curve as in the screenshot below and then fill the Adjustment Layer Mask with black so the effects aren’t visible.

Turn off the visibility of the texture layers and use the Pen tool to Draw paths around the hard edges you’ll need to mask, such as the edge of the nose and the cheek lines. Command-click on the Path to create a selection from it.

Select a soft-edged brush, set it to 15% opacity and load it with white. Paint directly on the Layer Mask. Draw over several time to create a shading effect.

Keep selecting distinctive features and adding shades. You can always just hide the texture layers to check where the shadows naturally occur in the photo.

Once you’ve finished adding shadows, there’s a couple of more steps to refine the final outcome.

Duplicate the bottom texture layer. Now set the bottom texture layers to match the top ones, one being Normal at 40% opacity, the other- Multiply at 100%.

Under those 2 layers create a new one and fill it with the dark shade of the dominant color of the texture (in this case dark purple).

Create selection from the ‘face’ layer and go to Select>Inverse. Then go to Select> Modify> Expand and give it 1 px expansion.

Select the Curves Adjustment Layer Mask and fill with 20% black.

Now select the eyes/mouth path you made earlier and add some shadows with the soft brush.

Make the layers blend more naturally by placing an Adjustments Curve and Hue/Saturation layers on top, and adjusting them slightly.

To make it even more 3D, flatten the image and go to Filter> Liquify.

Use Bloat Tool to add some more depth, by using it on cheeks, nose, chin and the forehead. Adjust the size of the brush to the size of the area.

End result:

>