Hello,
I have been working on a scene setup, and now I have tried to recreate the materials using nodes.
It’s not too complex once you figure out some stuff, although for some reason roughness does not work.
I had a similar problem with the playground, but here it is more visible.
Basically, I tried to add a roughness map to control what parts are more or less reflective, but everything seems too shiny for a wooden floor.
So I tried to set up the material using a value rather than a map. If I set up a roughness to a value of 0 or 1 nothing happens and everything remains really reflective to the point that I can recognize parts of the reflection map.
It is clear I am doing something wrong… can you help me to figure out what I did miss?
The link to the node material is https://nodematerial-editor.babylonjs.com/#1YXBV4
Thank you!!!
You must use a pre-filtered cube map for the environment. Those textures are special textures with pre-computed mipmaps that are used to simulate the roughness of surfaces. See for eg Using An HDR Environment For PBR | Babylon.js Documentation
Your updated NME with a proper env map:
https://nodematerial-editor.babylonjs.com/#1YXBV4#1
Note however that you should not add a texture in the ReflectionBlock
(I did it only for illustration purpose). If you leave the texture empty, the system will take the one which is in effect at the scene level in your project / playground, as in:
https://playground.babylonjs.com/#6JHRKC#1
1 Like
Thank you so much @Deltakosh and @Evgeni_Popov
So basically if I want to generate a PBR material it is always better to use cube maps! I’ll have to find out how to convert HDR images into cube maps (as I saved a lot to use with Blender).
I am so sorry… every time I find an answer, two other questions arise.
In the node editor, the roughness can be added as a value… but what if I would like to add as a map… for example if I create a street that has here and there puddles of water… In that case, the roughness will have to be different depending on the area. Is there a way to add a B/W texture map instead of a numeric value? The socket of the metallicRoughness PBR node accepts a Yellow node… from what I understand those refer to a single RGB channel (I think so, as the texture node has yellow sockets for the three channels and alpha and levels…).
Thank you!!!
Simply use a Texture block and connect one of its output to the roughness input: