Artist Guest Post: YurkP – Working with Maps

DeLonna Day 3D Modeling, Artists, Guest Artists

Only 2 more installments in YurkP’s wonderfully detailed tutorial of his Cuban House of Diversity model. This week, it’s all about maps, stitching and converting them in Photoshop to use with V-Ray renderer. You can read other parts of this tutorial here.


Welcome back, everyone. We will jump back into it and start this tutorial with stitching maps in Photoshop.

Texture details

I’d like to reiterate from a previous portion of this tutorial series that the more time and effort devoted to designing textures, the more visually interesting the end result will be. For instance, playing with color variation can add realism to textures. Painting over damages or dents with a slightly different color, considering the real-life effects of weather on paint to determine how worn the texture should appear. These tiny details have the power to create a story for the object. Now, on to Photoshop.

Stitching maps in Photoshop
Here, I connected three images into one. These three images are the outputs of three different Substance Painter projects that I detached and textured separately. To make merging them back together easier, I saved my textures on a black background. Then I selected the black field with the Magic Wand tool, inverted the selection, and copy/pasted the textures together. This process will need to be repeated for all maps (Albedo, Normal, AO, Roughness, Metalness). Once done, all that’s left to do is apply the textures to my objects.
Textured wall piece
I combined the separate elements to create a wall piece, unwrapping only one of each element to achieve maximum resolution. For instance, there’s only one baluster on my UV map, but I can duplicate and rotate it while still using the same high resolution texture maps. After texturing, I placed the objects wherever I wanted. Moreover, I used the same elements in the courtyard, but retextured them:
Reusing elements to avoid rebaking
The elements circled in red were reused from my previously created front facade, and they share the same UV space as the facade as well. This helps to avoid rebaking of Normal and AO Maps. All that needs to be done is to place the other objects on the same UV and retexture everything (just color). However, if I want to provide a V-Ray or Unreal Engine version of this model, the maps need to be adjusted a bit.

Adjusting Maps for Unreal Engine

Here is an example of maps needed for Unreal Engine:

Maps for Unreal Engine
This step isn’t required, but is highly recommended as this kind of packing saves space for textures. I use one MetalRoughAO Map instead of three separate maps. Imagine how much space can be saved if this technique is used when there are hundreds of textures in a game project! To create such a packed texture, the Metalness, Roughness, and Ambient Occlusion maps need to be put into the R, G, and B channels of the image.
MetalRoughAO Map
As a result, a strange, colorful texture is produced. In Unreal Engine 4, each channel of this map can be used instead of using the separate maps. Also, the Unreal database recommends saving textures in TGA file format. All maps must be saved as 24-bit because each layer uses 8 bits (8*3=24). If an albedo map contains an alpha mask, then the map needs to be saved as 32-bit, because in addition to three basic R, G, and B channels, a fourth alpha channel is used (8*4=32). After saving all maps with the recommended specs, make sure they’re all contained in a special folder.

Adjusting Maps for V-Ray

Like Unreal Engine, V-Ray renderer also needs specific texture maps and settings. V-Ray doesn't have a Metal/Roughness PBR workflow, so the maps will need to be converted to get the following set (Note: the Normal map can be used as is and doesn’t require a conversion):

V-ray maps
I’ll start with the easiest conversion: the glossiness map is simply an inverted roughness map.
Glossiness map
The Diffuse Map is a converted Albedo Map. To convert the Albedo to Diffuse in a way that can be used in V-Ray correctly, a New Layer needs to be created and filled with black color over the Albedo map. From there, insert the Metalness Map into the Layer Mask. The conversion is complete, and the result is a Diffuse Map where the color of the metal was inverted to black.
How to make a diffuse map
And here is how the layer stack should look:
Layer stack for the diffuse map
To create a Specular Map, you need to create new Fill Layer with grey color. Then, insert the Metalness Map into the Layer Mask and invert it. The result is a Specular Map, where all bits are grey unless they are metal parts.
How to create a specular map
Here is a layer stack of this workflow:
Layer stack of specular map
After repeating these processes with all maps, my model has three sets of textures: a standard set, an Unreal Engine set, and a V-Ray set.

Rendering Maps with V-Ray Materials in 3ds Max

Here I will demonstrate how I use and render maps in 3ds Max with V-Ray materials. There are other ways of going about this, but this is my personal workflow.

Upon opening the Material Editor, choose V-Ray Material to start the setup for rendering. Here are my settings and recommendations:

Material settings for V-Ray

I start with the settings on the left hand side of the Material Editor and work my way down. The checker icon (located in the row of icons under the material grid) turns textures on/off in the viewport.

Regarding Fresnel Reflections (aka IOR), make sure this is always turned on. The I’ve set this value at 30, although nothing changes above 50. The settings could vary greatly depending on the project. In regards to reflection, the higher the IOR, the more overall reflectivity the surface will have. By using IOR, you can control whether your material appears as a dielectric material or as a metal material. You can learn more about IOR vs. Metallic Maps in this article.

In the right image of the BRDF tab, I chose Microfacet GTR (GGX). It's a new Physically correct shader, but an old Blinn material is still good. Below that, I imported maps into specific slots:

  • Diffuse: frontwall_diffuse (wall_diffuse.png)
  • Reflect: frontwall_specular (wall_specular.png)
  • RGlossiness: frontwall_glossiness (wall_glossiness.png)
  • Bump: frontwall_normal (VRayNormalMap)

The maps themselves also have some settings that need to be adjusted.

Map settings for V-Ray

I chose Gamma 1.0 for glossiness map, instead of standard 2.2. Upon import, the Gamma values must match the following or there will be weird seams on the model:

  • Diffuse - 2.2 ( Automatic)
  • Glossiness - 1.0
  • Specular - 2.2 (Automatic)
  • Normal - 1.0

All other maps should be imported with Gamma 2.2. When uploading the diffuse map, the areas depicting metal will be black. Don’t worry about it; this is normal of the specular/glossiness workflow. In metallic/roughness workflow, color information is in Base Color map. The Metallic map just controls the level of metalness with grayscale values. In specular/glossisness workflow, all metals on the diffuse map are black. The specular map contains color information of metals. Here is an example with the imported maps:

Materials in viewport
After all the maps are imported, it’s time to choose render settings. Settings can look different, as everybody has their own preferences. All values can be higher the more powerful the PC is, but these settings work best with my system.
Render settings for V-Ray

Correct lighting plays a very important role in rendering. My main light, that I set first is VRayLight. I use it to give HDRI lighting to the scene.

Lighting settings for V-Ray

For VRayLight, I changed the type to "Dome" and picked VRayHDRI in the Texture Tab. There are numerous websites where you can download free HDRI maps. After choosing the wanted map, I drag and dropped it to a free slot in the Material Editor. Here I set Mapping Type to Spherical and set the Processing Multipliers (Overall Mult and Render Mult). Overall multiplier is a control for the overall brightness of the image. It affects both rendering and the material editor. The render multiplier controls the brightness of the HDRI image only when rendering; it has no effect on the display of the image in the material editor.

After setting the Processing Multiplies to 4,0, I drag and dropped it to the Environment Tab in the Environment and Effects window to the Environment tab. Don't forget to set exposure control, otherwise, the render will be overexposed. I then adjusted the V-Ray Exposure Controls to my preferred settings, and inserted a Physical Camera into the scene. It’s up to the artist to choose realistic or beautiful FOV settings.

Here is an image I received with the above settings:

Final render

Stay tuned for the next segment of the tutorial: Preparing the Model for Unreal Engine!