21.10.08

Normalmap creation with Photoshop and Nvidia plugin

Normalmap creation with Photoshop and Nvidia plugin

This is a Normalmap tutorial, i also published on my site. Perhaps it makes sense publishing it on the blog also.

Software: Photoshop, Nvidia Plug (Nvidia.com -> Developerzone - Photoshop Plugin)
Goal: Creation of a normalmap through a diffuse texture

Creation of normalmaps in Photoshop is not done by simply using the Nvidiaplugin only one time on a diffuse texture, but by applying the filter a couple of times at different blurring levels of the diffuse map.

Starting with the fine detail structures, you copy the source texture and blur it, to transform hard contrasts to gradients, to extract the more and more larger details.

The Nvidia plug wont convert hard contrasts without gradients to „deep“-structures.

The more you blur your ressource texture, the higher you set the „scale“-value in the Nvidiaplug



So lets start:

This is our ressource texture





fig1


fig2 (the y normal was inverted, because our game engine at Piranha-Bytes needs this, don't do this at home)



fig3


fig4


Workflow Part 1:

- duplicate your diffuse textur one time with „create new document from history" in history. (fig1)

- apply the nividia filter to one of the copys for getting a detail structure normalmap. Setting: Scale=4, Alternate Conversion=Max(RGB) (fig2) (the y normal was inverted, because our game engine needs this)

- put the normalmap aside for later compositing. (Tex1)

- get the other copy and desaturate (strg+shift+u)

- apply Gaussian Blur Filter with small Radius (2-3 pix) (fig3)

- duplicate your diffuse textur one time with „create new document from history" in history.

- apply the nividia filter, set „Scale " to 15

- put the normalmap also aside for later compositing. (Tex2)

- get the other copy


- apply Gaussian Blur Filter with higher radius (4-5pix)

- duplicate this document one time with „create new document from history" in history.

- apply the nividia filter, set „Scale " to 25


- apply Gaussian Blur Filter with small Radius (1-1,5 pix) to your normalmap in order to reduce moiré-effects, that came by using the gaussian-blur with high radius. (fig4)

- put the normalmap also aside for later compositing. (Tex3)

- get the other grey texture copy

- apply Gaussian Blur Filter with higher radius (6-7)

- apply the nividia filter, set „Scale " to 30-35

- apply Gaussian Blur Filter with small Radius (1-1,5 pix) to your normalmap in order to reduce moiré-effects, that came by using the gaussian-blur with high radius. (fig4)

- This normalmap is our base for the final normalmap. It defines the largest structures. (Tex4)

We are now going to compose the 4 different normalmap levels together by using the „overlay“-blending. One after another over the base-normalmap.

But after every single „overlay“-blending, you have to apply the nvidia filter once again in the „alternate-conversion“ setting: „normalize only“ in order to reduce wrong normalmap colors, that appear after every „overlay“-blending.


fig5


fig6


Workflow Part 2:

- Copy all content out of [Tex3] (ctrl+a, ctrl+c) as a layer into [Tex4] (ctrl+v)

- use blendingmode „Overlay" or „Soft light" (for less hard blending) on the new layer (fig5)

- flatten image to background layer

- use nvidiafilter with „Alternate Conversion"-Mode: „Normalize only" (fig6)

- Copy all content out of [Tex2] (ctrl+a, ctrl+c) as a layer into [Tex4] (ctrl+v)

- use blendingmode „Overlay" or „Soft light" (for less hard blending) on the new layer (fig5)

- flatten image to background layer

- use nvidiafilter with „Alternate Conversion"-Mode: „Normalize only" (fig6)

- Copy all content out of [Tex1] as a layer into [Tex4]

- use blendingmode „Overlay" or „Soft light" (for less hard blending) on the new layer

- flatten image to background layer

- use nvidiafilter with „Alternate Conversion"-Mode: „Normalize only"


If the Texture should be tilable, you now have to inspect your seams. And perhaps correct them.


Use the „offset“-filter in order to do this. Put exactly the half of your pixelsize of your document into the fields „horizontal pixels“ and „vertical pixels“.

Then use the blur tool or copy stamp tool, to reduce your seams..after this use the offset filter again. And then also use the nvidia plug again in „normalize only“-mode to for color corretion.

Now your normalmap is final.“


I hope this was helpful to you! :) cya


sascha