There is a tutorial on how to do this on the Affinity forums using the Live Lighting adjustment. There is an asset which you can download from this link:
forum.affinity.serif.com
There is also a youtube video showing the process:
But, I found the process using the asset from the tutorial to be quite cumbersome. You have to download and install the asset but worst still is you need to load your bump (height) map into the adjustment for some weird reason. So I messed about to see if I could find an easier and more responsive way (that doesn't involve saving a bump map and reloading it).
Step 1: Create your greyscale bump (height) map. How you do this is up to you but 128 grey is mid height, 255 white is highest and 0 black is lowest.
Step 2: Then in the menu select Layer - New Live Filter Layer - Lighting... and the Lighting layer should be created. Ensure the layer is above your height map so it uses the height map as the source to generate the normal map.
Step 3: Set up the Live Lighting as shown in the picture (see EDIT below). Then save the image as your normal map. Make sure all the Live Lighting settings are exactly the same as shown:
EDIT: I have done some more testing comparing older normal maps made using the Nvidia tool. In these instances using Azimuth of 0 deg and setting the Texture to a positive value will copy the layout used by Nvidia. So it's possible that the asset from the tutorial is not generating a correct bump map (or maybe it is, it still seems to work). But with my latest testing I'd recommend setting Azimuth to 0 (not 180) and using positive Texture values. This matches the images generated by the Nvidia tool but more importantly it allows you to enter precise values for the Texture rather than being forced to use the slider. For reference a Texture value of 0.3 matches the default Nvidia height.
The Color should be red 255,0,0. Ensure the Elevation and Azimuth are exactly as written, 30 and 180. You then use the Texture slider to adjust the strength of the normal map. Make sure this is in the negative range. Don't try to enter a value as it seems the input box will only let you enter 0 as the lowest value so you have to use the slider.
You can see in my layers that I have the asset from the tutorial (and is not visible at the moment) at the top which I used to compare the results. The Lighting adjustment in that tutorial uses some very different values but it only works if you load a bump map. I have no idea why the Lighting adjustment works differently when you load a bump map rather than getting it to adjust the image directly. However, if you set up your own adjustment layer as I have shown the results will be almost exactly the same (there is some slight variation but the direction of the colours appears to be the same). The following picture is the normal map generated using the asset from the tutorial for comparison with the above using just the Live Adjustment.
One final tip, you may find setting up the Live Lighting layer annoying each time but you can simply copy it from one image to another and it will keep the settings. Which is something you can't do with the asset from the tutorial because you have to reload the bump map any time you make a change.
Final disclaimer: I'm mainly posting this here so I can find it again when I need to do this again in 6 months and I've forgotten how I did it the first time.
Normal Map Generator
You can generate a Normal Map using Lighting live filter. Normal_Map_Generator.afphoto Normal_Map_Generator.afassets 1. Open your texture in Affinity Photo. 2. Use the attached file or assets file. 3. In the Lighting ilve filter settings, load the same texture. Normal_Map_Generator.mp4 Added AO g...
forum.affinity.serif.com
There is also a youtube video showing the process:
But, I found the process using the asset from the tutorial to be quite cumbersome. You have to download and install the asset but worst still is you need to load your bump (height) map into the adjustment for some weird reason. So I messed about to see if I could find an easier and more responsive way (that doesn't involve saving a bump map and reloading it).
Step 1: Create your greyscale bump (height) map. How you do this is up to you but 128 grey is mid height, 255 white is highest and 0 black is lowest.
Step 2: Then in the menu select Layer - New Live Filter Layer - Lighting... and the Lighting layer should be created. Ensure the layer is above your height map so it uses the height map as the source to generate the normal map.
Step 3: Set up the Live Lighting as shown in the picture (see EDIT below). Then save the image as your normal map. Make sure all the Live Lighting settings are exactly the same as shown:
EDIT: I have done some more testing comparing older normal maps made using the Nvidia tool. In these instances using Azimuth of 0 deg and setting the Texture to a positive value will copy the layout used by Nvidia. So it's possible that the asset from the tutorial is not generating a correct bump map (or maybe it is, it still seems to work). But with my latest testing I'd recommend setting Azimuth to 0 (not 180) and using positive Texture values. This matches the images generated by the Nvidia tool but more importantly it allows you to enter precise values for the Texture rather than being forced to use the slider. For reference a Texture value of 0.3 matches the default Nvidia height.
The Color should be red 255,0,0. Ensure the Elevation and Azimuth are exactly as written, 30 and 180. You then use the Texture slider to adjust the strength of the normal map. Make sure this is in the negative range. Don't try to enter a value as it seems the input box will only let you enter 0 as the lowest value so you have to use the slider.
You can see in my layers that I have the asset from the tutorial (and is not visible at the moment) at the top which I used to compare the results. The Lighting adjustment in that tutorial uses some very different values but it only works if you load a bump map. I have no idea why the Lighting adjustment works differently when you load a bump map rather than getting it to adjust the image directly. However, if you set up your own adjustment layer as I have shown the results will be almost exactly the same (there is some slight variation but the direction of the colours appears to be the same). The following picture is the normal map generated using the asset from the tutorial for comparison with the above using just the Live Adjustment.
One final tip, you may find setting up the Live Lighting layer annoying each time but you can simply copy it from one image to another and it will keep the settings. Which is something you can't do with the asset from the tutorial because you have to reload the bump map any time you make a change.
Final disclaimer: I'm mainly posting this here so I can find it again when I need to do this again in 6 months and I've forgotten how I did it the first time.
Last edited:
