This is a next generation of WANNA Shader for Substance Painter. It provides better materials and colors matching between Substance Painter and WANNA's proprietary rendering engine, and it should be used in combination with WANNA Environment Maps for Substance, which also shows correct position of the objects in the scene.
Import resources
- Download files: substance-shader.glsl , DFG_lut.exr and substance_khr_export_plugin.py
-
Place substance_khr_export_plugin.py into following folder:
- On MAC
/Users/username/Documents/Adobe/Adobe Substance 3D Painter/python/plugins - On Windows
C:\Users\username\Documents\Adobe\Adobe Substance 3D Painter\python\plugins
- On MAC
- Open Substance Painter and create or open a project
- Chose File->Import Resources to import substance-shader.glsl as shader and DFG_lut.exr as texture into your library
Shader Parameters
- Assign the shader into a slot in Shader settings.
- The following settings should be the default, assign DFG_lut.exr to DFG Texture slot if needed.

- If you have multiple texture sets, then you might need to enable different settings for each set. For example, you might need to enable Transmittance for glass, but disable it for watch’s case. You need to create a new shader instance. In Texture Set Settings click shader->New shader instance.
After this step, you will have “Main shader (Copy)” in the shader settings. You can rename it if you want.
- By checking different checkboxes in shader settings you can enable KHR extensions for this shader instance. List of KHR extension supported by shader:
- "KHR_materials_ior"
- "KHR_materials_transmission"
- "KHR_materials_volume"
- "KHR_materials_sheen"
- "KHR_materials_specular"
- "KHR_materials_clearcoat"
- "KHR_materials_emissive_strength"
- In Texture Set settings you can add and use following channels in addition to standard channels:
- Coat opacity
- Coat roughness
- Sheen color
- Sheen roughness
- Specular (for specular color tint variation)
- Translucency (to control KHR_transmission)
- To set Thickness texture for KHR_volume please use the thickness map in Mesh Maps, below channels.
In Substance Shader there are some limitations compared to render:
- There are no refractions
- Roughness doesn’t introduce blurring of the background.
- Thickness factor works in world scale, independent of each object’s scale.
As of now, Substance Painter has a bug when using simplified thumbnails with our shader, it renders fully black preview, so we recommend disabling simplified thumbnails in settings.

About sRGB conversion
You need to specify color space when you create a new Substance Painter project
Set OpenColorIO as Color Management

There might be a difference in appearance in dark regions between renderer and substance shader because of the different handling of sRGB conversion. You can experiment with turning on the sRGB conversion in the shader parameter. First you need to turn off the conversion in Substance viewport by clicking this icon:
After clicking it, you can choose either “Simple” or “Exact” mode.

- “Simple” - works like in render
- “Exact” - works like in Substance Painter
Overall, it is an experimental feature and is not recommended unless you need it.
KHR Sheen tip
If you have some parts of the model that must not have sheen effect on them, make their sheen color pure black (or opacity zero) but don’t make their sheen roughness zero, keep it roughly the same as other parts.
Sheen color:
Sheen roughness:
That is because if sheen roughness is zero, glimmer artefacts like this can appear at sharp viewing angles.
KHR IOR tip
At export from Blender, IOR is included in the export only if one of these extensions are also used:
- KHR_materials_transmission
- KHR_materials_volume
- KHR_materials_specular
IOR of 1.5 are not included in the export, because this is the default glTF IOR value.
KHR Specular tip
In Substance shader you can change parameters related to KHR_materials_specular:
Use “Specular Intensity (overall)” to scale reflectivity of the material.
Use “F0 Specular Color RGB” to set the reflection color.
Use “F0 Specular intensity multiplier” to make specular color brighter than one. This is because in KHR_materials_specular you can set specularColorFactor parameter to a HDR color, for example [5.0, 6.0, 4.0]. But in Substance Painter you cannot set such color, so you must use an intensity multiplier.
Use a Specular channel to set the reflection color with texture.
By default, our renderer assigns value 0.5 to Specular Intensity if there is no KHR_materials_specular present on the gltf model. To make it assign a value of 1.0, you must include KHR_materials_specular in the exported model.
How to export model with KHR extensions from Substance Painter
After you have set the necessary shader settings:
- Enable plugin by opening the Python menu and clicking on substance_khr_export_plugin to start it. It should have a checkmark if it is enabled. If you don’t see it, try pressing Reload Plugins Folder
- Navigate to File -> Export textures
- Choose glTF PBR Metal Roughness template and check Export shaders parameters
- Click Export
If you don’t need KHR export, you can disable the plugin by clicking on it in the Python menu.
Note on re-export in Blender 3.6
If you need to import and export the model from an older version of Blender, keep close attention to the Specular KHR because it can be lost during export if you don’t set this checkbox. Use this checkbox to export model with the same specular settings as it was imported:
If you use a newer version of Blender, 4.2, you don’t need this step.
Refer to this document for Blender 3.6 Gltf export instructions: https://docs.blender.org/manual/en/3.6/addons/import_export/scene_gltf2.html
Refer to this document for Blender 4.2 Gltf export instructions: https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html
Environment map
- Select the required environment map from WANNA Environment Maps for Substance .
- Set Environment Rotation to 0 and Environment Alignment to Camera.
Post effects
Deactivate all post effects.
Tone mapping
WANNA supports three tone mappers: ACES Filmic, ACES Narkowicz, and Khronos PBR. The default option is Narkowicz.
- ACES Narkowicz is the standard tone mapper used for most models in Studio.
- ACES Filmic is required when developing gems, which means you'll need to switch to ACES Filmic in the shader, use a specific environment map, and set the model to ACES Filmic after uploading it to Studio.
- Khronos PBR is the newest tone mapper available, offering improved color accuracy, especially for metals and fabrics, as well as better handling of exposure and highlights. This tone mapper is now available with WEB SDK 3.4 and is recommended for use due to its superior realism. It doesn’t require switching to a specific environment map, and it retains vibrancy even under high exposure.
Color space
WANNA supports two color space settings: sRGB and Display P3. By default it uses sRGB for better compatibility with various devices, displays and browsers.
You need to specify color space when you create a new Substance Painter project, as you won't be able to change it later. To do so:
- Set OpenColorIO as Color Management .
- Choose sRGB (recommended) or Display P3 as Standard sRGB Color Space.
If you choose P3, make sure to select it in the Model Edit tab when uploading the model to Wanna Studio.