How-To Create Detail Maps in Lumberyard

0

While working on a material, have you ever noticed the checkbox for Detail mapping and wondered what it was for? It’s the first item in the long list of parameters found under the group Shader Generation Params. Detail maps are 32bit images and are a mix of a diffuse texture and a normal map with a gloss channel.

REMOVEDUPLOAD

To get started, you will need to have two textures. A diffuse texture and a normal map. Make certain to choose a normal map that also has a gloss channel. Both textures should also be tileable. This is important to remember, because detail maps are typically tiled many times across the object that they are applied to. We don’t want to have any unsightly seems appear on our objects!

To successfully create a detail map, we must first understand how the two source textures are combined into one. The channels in the detail map are mapped to the following:

  • Red channel = Any channel from your source diffuse texture
  • Green channel = The red channel from your source normal map
  • Blue channel = The alpha channel from your source normal map
  • Alpha channel = The green channel from your source normal map Once you understand this, the following process can be used to combine the two textures:

Photoshop Process

  1. Open source images in Photoshop
  2. Create a new 32 bit PSD file
  3. Open the channels window
  4. Copy any channel from the source diffuse texture and paste it into the red channel of the detail texture
  5. Copy the red channel from the source normal map and paste it into the green channel of the detail texture
  6. Copy the alpha channel from the source normal map and paste it into the blue channel of the detail texture
  7. Copy the green channel from the source normal map and paste it into the alpha channel of the detail texture
  8. You will know that all the channels are correct because now the combined RGB will look like a funky green normal map!
  9. Save your file, and right-click on it in windows explorer. Choose RC Open Image and choose the Detail_MergedAlbedoNormalsSmoothness preset. Click OK.
  10. Note: This will create a text file (imagename.exportsettings) for each image that contains information Lumberyard will use to compile the image correctly. If you are using source control, do not forget to check these files in! If you do not have the option RC Compile Image, you need to install the RC Shell Commands using the SetupAssistant.exe. REMOVEDUPLOAD

Lumberyard

In Lumberyard, open the Material Editor. Choose a material that you want to add a detail map too, and under the group Texture Maps, add the detail map to the Detail parameter. At first you might not notice any changes. Don’t worry! We will fix this next.

Under the group Shader Generation Params, check the box for Detail mapping. This will add 3 new Shader Params:

  1. Detail bump scale - This controls the blending of the normal map (green and alpha channels) in the detail texture
  2. Detail diffuse scale - This controls the blending of the diffuse map (red channel) in the detail texture
  3. Detail gloss scale - This controls the blending of the gloss map (blue channel) in the detail texture
  4. For all of these parameters 0 is no blending. Adjust these sliders to get the effect you desire. As a final step, let’s adjust the tiling of our detail map. This can be controlled by returning to the Detail parameter in the group Texture Maps and then drilling down to Advanced / Tiling and setting the TileU and TileV parameters to a value that gets you the desired effect!

I hope this information is useful to our community and I am excited to see what you create using this technique! If you are interested in other topics, please let me know. Environments are my specialty :)

Here is what I ended up with (left no detail map, right with detial map):

REMOVEDUPLOAD

asked 7 years ago210 views
6 Answers
0

I used detail map so far always without export settings exporting them from substance designer as tif. What's actually the difference in processing the export settings triggers?

answered 7 years ago
0

Interesting, I just use it in few cases as hdr textures to not get them converted to ldr.Probably I tool to edit export settings that don't require photoshop would be very useful.

answered 7 years ago
0

@REDACTEDUSER

By generating the .exportsettings file, you are explicitly telling Lumberyard how to ingest your file. If you open this file up, in your favorite text editor, you will see that we have set parameters for autooptimize, mipgentype, reduce, and a few others.

You are correct, that it will work without this step but ideally all textures in your project should go through the process of generating the .exportsettings file. There are benefits to having this on a large team.

One use case would be to create a script that reduces the size of the textures in your project. The script could change the value of reduce=0 to reduce=2. This would make a 1024x1024 texture reduce by a factor two. Resulting in a file that is now 256x256. The original texture is not changed, but the asset processer will see the change to the .exportsettings file and generate a new .dds file at the reduced size.

answered 7 years ago
0

BigMonetsGhost, excellent article thanks.

I have enabled the RC Shell Commands, but don't see the options when I right click in windows explorer. Not sure why. The following seems to work though and may be a useful tip for some:

  1. Create a desktop icon for rc.exe (the file is in the "\dev\Bin64vc\140\rc" directory).

  2. Right click on the icon to open its properties and in the "target" window add the switch "/Detail_MergedAlbedoNormalsSmoothness" (without quotes).

Can then process your detailed image file by dragging it onto the desktop icon. It will automatically run and produce the detail .dds file.

<sub></sub><sup></sup>

answered 6 years ago
0

This is great information. Thank you for putting it together and sharing!

answered 5 years ago
0

TY for the information, but not alot of people , unless they get creative in finding it, can affford PS, some can't even afford $10 but are worthy and talented. It looks like it should port directly , but in the future making a point to note it works in free ** might be nice.

answered 5 years ago

This post is closed: Adding new answers, comments, and votes is disabled.