Popular topics: General 3D model requirements WANNA Environment Maps

Setting up Substance for WANNA

To keep colours and materials from Adobe Substance 3D Painter consistent across all WANNA experiences, the WANNA Shader is required. Without the WANNA Shader, results may differ from what is seen in Adobe Substance 3D Painter. Together with WANNA Environment Maps for Adobe Substance 3D Painter, it also helps maintain accurate object placement within the scene.

1. Import Resources

Download and install the following resources:

Place substance_khr_export_plugin.py in the correct folder:

  • macOS: /Users/username/Documents/Adobe/Adobe Substance 3D Painter/python/plugins
  • Windows: C:\Users\username\Documents\Adobe\Adobe Substance 3D Painter\python\plugins

2. Configure Shader Parameters

  • Open Adobe Substance 3D Painter and either create or open a project.
  • Choose the resolution for the project.
  • Choose normal map format - OpenGL

2.1 Manage sRGB Conversion

Set the colour space to sRGB everywhere (recommended for best compatibility across devices, displays, and browsers).

  • Set OpenColorIO as Colour Management.
  • Use sRGB 

The video below demonstrates the specific points at which sRGB must be set.

 

2.2 Assign the shader in Shader Settings.

  • Ensure the default settings are applied. If required, assign DFG_lut.exr to the DFG Texture slot.

There may be slight differences in dark regions due to different handling of sRGB conversion. You can test by enabling sRGB conversion in shader parameters, but first disable it in the Adobe Substance 3D Painter viewport by toggling the colour management icon.
 

  • Simple – behaves like WANNA render
  • Exact – behaves like Adobe Substance 3D Painter

This feature is experimental and not recommended unless required.

The list below outlines the default settings to be applied in the shader. When configuring the tone mapper, ensure that the option selected aligns with your specific requirements. A video tutorial demonstrating the complete shader upload workflow is provided for reference.

Default Shader settings

 
 

Video guide

 

 

 
 
  • For multiple texture sets, create new shader instances in Texture Set Settings → Shader → New Shader Instance. This is useful when, for example, enabling Transmittance for glass but disabling it for a watch case.
  • After this step, you will have “Main shader (Copy)” in the shader settings. You can rename it if you want.

2.3 Enable KHR extensions

Supported KHR extensions

Enable KHR extensions by ticking the relevant checkboxes in shader settings. Supported extensions include:

  • KHR_materials_ior 
  • KHR_materials_transmission
  • KHR_materials_volume
  • KHR_materials_sheen
  • KHR_materials_specular
  • KHR_materials_clearcoat
 
 

Additional channels available in Texture Set Settings

  • Coat opacity
  • Coat roughness
  • Sheen colour
  • Sheen roughness
  • Specular (tint variation)
  • Translucency (for KHR_transmission)
  • Use the Thickness map in Mesh Maps to support KHR_volume.
 
 

Note Limitations

  • No refractions
  • Roughness does not blur the background
  • Thickness factor works in world scale, not per-object scale

Known issue: simplified thumbnails may appear black when using this shader. Disable simplified thumbnails in settings.

2.4 Choose Tone Mapping

WANNA supports three tone mappers:

  • ACES Narkowicz – default and most commonly used
  • ACES Filmic – required for gem development (with dedicated environment map) | available from WEB SDK 2.7.4, iOS SDK 7.1
  • Khronos PBR – latest option, recommended for metals, fabrics, and high-exposure scenes | available from WEB SDK 3.4, iOS 8.0

2.5 Select Environment Maps

Important: For better matching and achieving a predictable result, use the same environment map that will later be selected in WANNA Studio.

Select a required environment map from WANNA Environment Maps for Substance.
Set Environment Rotation = 0 and Environment Alignment = Camera.

2.6 Disable Post Effects

Deactivate all post effects.

Working with Extensions

KHR IOR tip

Blender exports IOR only if one of the following extensions is enabled: 

  • KHR_materials_transmission
  • KHR_materials_volume, or 
  • KHR_materials_specular.

IOR of 1.5 is not exported, as it is the glTF default.

 
 

KHR Sheen tip

  • For areas that should not display sheen, set sheen colour to pure black (or opacity 0).
  • Do not set sheen roughness to 0 — keep it consistent to avoid glimmer artefacts at sharp angles.
Sheen color
Sheen roughness
That is because if sheen roughness is zero, glimmer artefacts like this can appear at sharp viewing angles.
 
 

KHR Specular tip

  • Use Specular Intensity (overall) to control reflectivity.
  • Use F0 Specular Colour RGB to adjust reflection colour.
  • Use F0 Specular Intensity Multiplier to exceed default brightness.
  • Use the Specular channel for texture-driven reflection colours.
  • By default, if no KHR_materials_specular is present, the renderer applies Specular Intensity = 0.5. To set it to 1.0, include KHR_materials_specular in export.
 
 

The extensions were introduced gradually; see the list of extensions with their versions here.
For instructions on how to configure (or reconfigure) extensions in Studio, refer to this guide here.

Export Models with KHR Extensions

  • Enable the plugin via Python → substance_khr_export_plugin.
    • A checkmark confirms it is enabled.
    • If not visible, try Reload Plugins Folder.
  • Go to File → Export Textures.
  • Select glTF PBR Metal Roughness template.
  • Tick Export shader parameters.
  • Click Export.

If you do not need KHR export, disable the plugin in the Python menu.

Re-Export from Blender 3.6

  • When re-exporting from Blender 3.6, ensure the Specular KHR checkbox is enabled; otherwise, specular settings may be lost.
  • Blender 4.2 no longer requires this step.

Refer to the official Blender documentation:

 

Was this article helpful?

Can’t find what you’re looking for?

Our award-winning customer care team is here for you.

Contact Support