Jump to content
  • entries
    4
  • comments
    57
  • views
    14,177

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:

f50cf483bb0388bec1e3b83e69c0f019.jpg

 

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

substance_mat1.JPG

 

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:

http://www.leadwerks.com/werkspace/topic/11224-skybox-rendering/#entry82736

 

 

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.

substance_mat2.JPG

 

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.

substance_mat3.JPG

 

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:

 

substance_mat4.JPG

 

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

 

substance_mat5.JPG

  • Upvote 17

40 Comments


Recommended Comments



zipzup

Posted

Hello Shadmar,

 

very good Tutoriel.

But where do I find substance addon??

In workshop I have not found it.

shadmar

Posted

Almost there, so I'll upload the addon soon.

  • Upvote 4
SlipperyBrick

Posted

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
reepblue

Posted

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
SlipperyBrick

Posted

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

shadmar

Posted

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
Genebris

Posted

It works perfectly, thank you very much! This is an amazing stuff!

SlipperyBrick

Posted

Ahh sweet and once it is installed I can launch Leadwerks from Steam as normal and it will always load even on new projects?

Genebris

Posted

You need to to install it in Subscribed tab in workshop window inside Leadwerks.

SlipperyBrick

Posted

I've installed from here using that link. I can't seem to find it in my subscribed items in the Workshop

SlipperyBrick

Posted

Ahh just me being impatient. I got it now haha xD

shadmar

Posted

Yes it should be up now. All examples should be included.

  • Upvote 2
SlipperyBrick

Posted

You've out done yourself here man. Looks incredible can't wait to get my Substances in to Leadwerks :D

  • Upvote 1
reepblue

Posted

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.

shadmar

Posted

oh could I have a look at the mat file? sounds like your missing a texture in a slot.

shadmar

Posted

And env reflection is what it is. so metals with no light on them should still reflect the environment.

SlipperyBrick

Posted

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)

shadmar

Posted

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
SlipperyBrick

Posted

Automatic environment mapping?

 

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

 

That would be amazing!

Genebris

Posted

Will it take texture from the current skybox? What if it doesn't have mip maps or has wrong compression?


Guest
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...