The most used wokflow is metal/roughness (I think)
- metalness gives the environment reflection amount.
- 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
- spreads the light so environment reflection would be more 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
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:
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.
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:
- 17
40 Comments
Recommended Comments