Jump to content
  • entries
  • comments
  • views

Substances, metal and roughness and Leadwerks




The most used wokflow is metal/roughness (I think)

  1. metalness gives the environment reflection amount.
  2. roughness does two things
    • spreads the light so environment reflection would be more blurred
    • spreads the light so specular reflection from light sources would be spread/blurred


Like this:



I'm not doing PBR discussion on how to correctly compute energy conservation and all that. It's not really important. But looking at some of the methods anyway on how metal and roughness workflow works.

The shader I have used is not accurate PBR shader, but the results are almost similar from what I can tell smile.png


Usage in Leadwerks


1. Download and install the substance addon from the workshop. [ http://www.leadwerks.com/werkspace/page/viewitem?fileid=658772226 ]

WARNING, this will overwrite lighting shaders for directional, point and spotlight in order to read GLOSS

However all your old materials not using substances will look almost the same so you don't need to do an all substance game if you don't want to, you can mix.


2. Export materials from tools like Substance Designer (they will fit right in) using the metalness/roughness workflow or just create your own from scratch, metals are pretty easy to do using just Leadwerks.


Exports from Substance Designer should be set up like this with 7 textures:


Texture Tab



slot 0 (Diffuse) - diffuse/color/albedo map

slot 1 (Normal) - normal map

slot 2 (Specular) - roughness map

slot 3 (Displace) - height map (this texture isn't used, but will be here for future use)

slot 4 (Texture 4) - metal map, black is non metal, white is full metal

slot 5 (Texture 5) - AO map, this is multiplied by diffuse/color, so use a white if you don't have an AO one.

slot 6 (Texture 6) - ***Environment map, used for reflection and ambient, this map must have (important settings)

  • Compression : uncompressed
  • FilterMode : smooth
  • Generate mipmaps, yes
  • Clamp : X,Y,Z
  • ps! Leadwerks default skybox doesn't contain any mipmps and source is not provided and therfore is is useless for usage with substances


***In game environment mapping (for slot 6)

Not so smooth but a possible way:




Properties Tab


Usually Leadwerks created materials have Specular values set to 128,128,128,128

But we're using these for tuning/offsetting substances, so a good starting point is 255 across the board.



A = modifier for ambient envmap lighting (multipled by texture value)

R = modifier for the roughness value after specular is read from texture and modified by S

S = modfier for the specular term (multipled by texture value)

M = modfier for metalness (multipled by texture value)


Usually you do not need to tune these since metal, roughness and env are all read from textures, but they are there if you want to fine tune.


Shaders Tab

Two choices,

  • substance_static.shader for most models
  • substance_anim.shader for bone animated models.



Don't have Substance Designer? (neither do I)


Ok, very well but I don't have Substance Designer and I need to make gold and iron. That is quite easy:


Creating metals from scratch using just Leadwerks, lets make gold:

Gold RGB color (google the values):

Normalized = 1.000,0.766,0.336 or RGB = 255,195,86


1. Create a new material

2. Assign basic textures an all 7 slots.

  • 0 - white.tex
  • 1 - any normal texture
  • 2 - black.tex
  • 3 - -
  • 4 - white.tex
  • 5 - white.tex
  • 6 - env.tex

3. Adjust diffuse color to 255,195,86,255 (gold color) and Specular to 255,220,255,255 (applying abit roughness)

4. Assign the substance_static.shader:




For Iron, use same setup in textures, but these values for diffuse/specular:



  • Upvote 17


Recommended Comments

Hello Shadmar,


very good Tutoriel.

But where do I find substance addon??

In workshop I have not found it.

Link to comment

I am way to excited about this!!!!


Good work Shadmar looking forward to this being available :D


Something like this needs more views and attention, with the capability of getting visuals like this in Leadwerks I think this is going to start pushing some boundaries.


Can't wait to use it and get some of my new materials in my game XD

  • Upvote 1
Link to comment

Very nice, really looking forward to this. I really hope things like this attracts more artists to the community.


Can't wait, looking forward to it. :)

  • Upvote 1
Link to comment

Very nice, really looking forward to this. I really hope things like this attracts more artists to the community.


Can't wait, looking forward to it. smile.png


Hell yeah fingers crossed, I've been wishing for something like this to come for Leadwerks for awhile now :D

Link to comment

I only need the glossy eightball/poolball example working with envmap without having it to be metallic. (upper right corner of the first figure)

  • Upvote 1
Link to comment

I just got the time to play with it, and man, I'm glad that this just model shaders (and the light edits) and doesn't need any post processing on top of it. Excellent work, Always gonna have this installed in my projects from now on.


Thank you for doing this. smile.png


EDIT: Seems the only issue I came across was that materials using the shader are not effected by light sources. (They seem self lit.)


EDIT2: Seems that bug is only effected on shinny surfaces (like the metal surfaces.) You can adjust the brightness of the 'shinny' entity to accommodate for the light issue.

Link to comment

A quick question about this amazing shader. Do we have to provide a metal map for non metallic surfaces?


I'm working on a semi glossy painted wall material and my metallic map is black for a non metal yet when I plug that in the appropriate slot in the material editor in Leadwerks it looks like a metal.


Is this because I've also plugged in a environment map as well?


Because the surface looks very shiny:


http://i.imgur.com/9ASSm4x.png (255 on metallic channel)


http://i.imgur.com/XqiXrHH.png (0 on metallic channel)

Link to comment

if the metallic map is all black it will not do a metallic reflection, but rather a surface plastic like reflection with no colordepth.

if you look under misc folder there is an billiard ball material as an example of this.


You are suppose to supply textures for all cases, under the default folder there is 2x2 pixel textures for black/white/gray if you don't have one.


For next iteration of this shader, environment mapping will be automatic.

  • Upvote 2
Link to comment

Automatic environment mapping?


Would that be automatic reflections of the environment without the use of an environment map?


That would be amazing!

Link to comment

Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...