Substance Painter PBR Map | V-Ray Material slot |
Diffuse / Base Color | Diffuse |
Normal | Bump (as a normal map) |
Height | Bump, Displacement |
Specular | Reflection |
Glossiness | Reflection Glossiness |
Metallic | Metalness |
Roughness | Reflection Roughness |
Ambient Occlusion | Diffuse (multiplied by a diffuse map) |
Opacity | Opacity, Refraction |
Emission | Self-Illumination, Light Material |
This article covers the following topics:
1: Setting up and understanding the Substance texture exporter.
- Existing V-Ray Presets
- Substance Painter export system
2: Substance PBR to V-Ray Material setup
3: Color Spaces and mapping
Setting up and understanding the Substance texture exporter
Existing V-Ray export presets in Substance
There are currently three existing V-Ray presets available in Substance Painter that have been created by Allegorithmic:
- Vray Next Metallic/Roughness
- Vray Next Specular/Glossiness
- Vray Next UDIM Legacy (Metallic Roughness)
The V-Ray presets export the following maps:
- Diffuse / Base Color
- Roughness / Specular
- Metallic / Glossiness
- Emission
- Transmissive
- Anisotropy Angle
- Anisotropy Level
These Adobe presets can be used for most common materials. However, if you want to better support your workflow and get texture exports that better fit your needs, we recommend creating your own presets.
Substance Painter export system
For this step, refer to the Adobe Documentation where the exporter is explained in detail.
Substance PBR to V-Ray Material setup
For this article, we prepared a retro night light that is textured with all the maps mentioned. Here is what the textures and the model look like in Substance Designer.
Diffuse / Base Color map
The Diffuse / Base Color map stores the color information for your material. This texture is loaded into the Diffuse map slot of the V-Ray material.
Render with Diffuse texture only:
Normal / Height map
Height maps can be directly loaded into the Bump slot of the V-Ray material. Height maps can also be used as displacement (see next paragraph).
Depending on the AEC/DCC used, the Substance normal maps can be loaded directly into the Bump map slot of the V-Ray Material or into a VRayNormalMap texture which is plugged into the V-Ray material bump slot.
In order for the normal map to work correctly, you need to use the same normal map space in both Substance and V-Ray. In this example, the normal maps are exported in tangent space from Substance; therefore, in V-Ray, we need to specify that the Normal Map is in tangent space (visible in the picture below).
Substance Painter exports both DirectX (Y-) and OpenGL (Y+) normal maps. Please note that exporting DirectX and OpenGL normal maps using the Converted Maps in the Substance Painter exporter takes both the normal and height information, and combines them into a normal map. DirectX and OpenGL use different directions for the green channel (Y- / Y+).
V-Ray works with OpenGL (Y+) normal maps. If you are using DirectX (Y-) normal maps, you need to flip the green channel of the normal map to work correctly. You can do this by using the VRayNormalMap shader, particularly its flip channel options highlighted in the picture below:
VRayNormalMap 3DS Max documentation: https://docs.chaos.com/display/VMAX/VRayNormalMap
VRayNormalMap Cinema 4D documentation: https://docs.chaos.com/display/VC4D/VRayNormalMap
VRayNormalMap Maya documentation: https://docs.chaos.com/display/VMAYA/VRayNormalMap
VRayNormalMap Flip Houdini documentation: https://docs.chaos.com/display/VRAYHOUDINI/V-Ray+Normal+Map+Flip
Render with Diffuse and Normal:
Displacement
Additionally, Height maps can be used for Displacement mapping by means of the displacement options supported by V-Ray for the dedicated AEC/DCC platform.
Read more about displacement for every V-Ray integration from the links below:
3ds Max, Maya, Cinema 4D, Houdini, SketchUp, Rhino, Revit
Displacement Render:
Specular/Glossiness or Metallic/Roughness maps
There are two ways to set up the reflections of the material in V-Ray.
1:Using Specular/Glossiness:
To use the Specular/Glossiness PBR workflow, make sure the Use Roughness option in the V-Ray Material is disabled. Load the Specular map in the Reflection map slot and the Glossiness - in the Reflection Glossiness Map slot of the V-Ray Material.
2:Using Metallic/Roughness:
To use the Metallic Roughness PBR workflow, enable the Use Roughness option (normally located under the Reflection options / BRDF options of the V-Ray Material). The exported Roughness map from Substance should be loaded into the Roughness Map slot of the V-Ray Material. The Substance Metallic map should be loaded into the Metalness map slot of the V-Ray Material. The Reflection color should be set to white to get the proper reflectivity and preservation of energy. Otherwise, the glancing angle will never be 100% reflective, which it should be.
Render with Diffuse, Normal, Metallic and Roughness:
For more information about working with metalness you can visit the following blog: https://www.chaos.com/blog/understanding-metalness
Opacity maps
The Substance Opacity map is loaded into the Opacity slot of the V-Ray material.
Opacity Render (Diffuse + Opacity):
Refraction maps
Substance Opacity maps can also be used inside the Refraction map slot of the V-Ray Material. Please note that Substance and V-Ray use opacity maps differently: in order to get a proper result, the opacity map needs to be inverted when used as a refraction.
Please note that since Substance Painter doesn’t represent physically based refraction in the viewport, the result from V-Ray looks different, but it is more accurate. Since you are making the material for V-Ray using Substance, it is more correct to look at the V-Ray render result rather than the Substance Painter viewport result. Because of that, you may need to iterate between Substance Painter and V-Ray by making changes on the map you use for the Refraction in order to get the desired effect.
Render with Diffuse, Normal, Metallic, Roughness, Refraction and Opacity:
Ambient Occlusion map
Since the V-Ray Material doesn’t have a map slot for Ambient Occlusion maps, use them with V-Ray by multiplying the Ambient Occlusion Map by the Diffuse map you are using. For this, use a compositing / layering shader/node that is loaded into the Diffuse Map slot of the V-Ray Material.
Render with Diffuse, Normal, Metallic, Roughness, Refraction, Opacity and Ambient Occlusion:
Emission/Self-Illumination maps
Emission maps can be loaded into the Self-Illumination map slot of the V-Ray Material. By turning on the material’s affect GI option, the Emission map also has an effect on the Global Illumination in the scene and becomes a light source.
Emission maps can also be used with the V-Ray Light material. Thus, the Emission map turns into a light source and controls the intensity of the light.
Render with Diffuse, Normal, Metallic, Roughness, Refraction, Opacity, Ambient Occlusion and Emission as Self Illumination:
Render with Diffuse, Normal, Metallic, Roughness, Refraction, Opacity, Ambient Occlusion and Emission as V-Ray Light Material:
Color Spaces and mapping
It is important to load the materials with the color space they have been exported in to achieve the expected result. By default, Substance Painter exports all maps in sRGB color space except for the Normal map, which is in the Linear color space.