How to Create a Normal Map in Photoshop

By December 16, 2017 September 23rd, 2018 3D Modeling, Tutorials

When creating textures for use in a 3D application or game, sometimes it’s necessary to add finer detail, such as a bump map or normal map. Normal maps fake the lighting on textures to create additional detail, without adding more polygons.

For normals, I figured you had to always rely on a 3rd party application such as CrazyBump. While CrazyBump is a great piece of software, I hadn’t realized it was already possible using the popular photo-editing software, Photoshop. You will need at least Photoshop version CC 2014.1 for this to work.

Open Texture in Photoshop

 

For this example, I’m going to be using a leather texture I found on textures.com:
Leather Texture

Fire up Photoshop and switch to the 3D Workspace:
3D Workspace

Open the texture you want to create a bump map for. In the 3D panel, select Mesh From Preset, and choose a shape:
3D Mesh Preset

I like to use a Sphere, but it doesn’t really matter. Click Create. Some kind of magic happens inside Photoshop and it creates a scene with your texture loaded onto an object.

In the 3D panel, you’ll see an object name with _Material. Click that:
Material Options

Create the Normal Map

 

The Properties panel changes to reflect options corresponding to the material properties. Right now our texture is loaded into the Diffuse channel. There’s a nice little button at the bottom labeled Normal. Click that and select Generate Normals From Diffuse…
Properties Panel

After a few seconds, up pops the Generate Normal Map window:
Generate Normal Map

There’s a nice little preview of your shape, and you can adjust Contrast Details and all that fun stuff. Click OK. Your normal map is created and applied to the shape.


Note: If Photoshop freezes up, you can also try this method:
1) Open texture in Photoshop as you would normally any image. Make sure the image mode is set to RGB. (Having tried with Greyscale, it would freeze up again.)
2) Choose Filter3DGenerate Normal Map…
3) Adjust your map as necessary (I left my to default). Click OK.
4) Save your file as PNG (not sure if it really matters). You’re done!


 

To save the map out of Photoshop, click on the Normal button again in the Properties panel, and this time select Edit Texture…

Your map will open in a separate document window. Choose File, Save As…
Choose Tiff as the Format as deselect Layers:
Save As Dialog

On the TIFF Options dialog, just keep everything as default:
TIFF Options

Now you can use this normal map inside of a 3D application or game engine to get more detail out of textures.
Normal

Leather with Normal Map

Leather with Normal Map

Leather without Normal Map

Leather without Normal Map

9 Comments

  • Johnathan says:

    I got it to work finally, i had to reset my preferences and it works like normal now. Not sure what changed to make it do that. Thanks!!

    • Oh strange! Sorry my solution didn’t work! Well I’m glad you were able to get it to work at least haha. At least anyone else having this issue will know to try resetting their preferences will hopefully work for them 🙂

  • Johnathan says:

    I’m having the same issue. It goes to open a new tab, shows a weird looking image then closes and goes back the the original tab. In the past I could make normal maps by clicking; Filter > 3D > Generate Normal Map and it would do it for me. Now I’m having to do it the way you are showing above. Not sure way it wont let me continue to create normal maps the same as before.

  • Joseph says:

    I get to the part where you hit the button to Generate Normal from Diffuse. I hit it, I see it do something. I can see a new tab as if a new photo is coming up, Then it goes back to the same screen as before. It never generates the window to set up the Normal. I hit the Generate Normal from Diffuse several times with the same result. I tried it with textures from the place you got yours. I tried it with one of my own. I tried it with a jpeg and a targa file. The same thing happens.

Leave a Reply

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.