Author Topic: Free Comprehensive PBR Guide  (Read 23221 times)

Guys, Figure 09 is missing! Also, the last paragraph on page 10 is repeated on page 11.

Awesome guide anyways :)
Last Edit: January 30, 2015, 02:38:48 pm

Guys, Figure 09 is missing! Also, the last paragraph on page 10 is repeated on page 11.

Awesome guide anyways :)

Oh, no : (

I'm very sorry about that. I fixed the issue and we are uploading the new updated version now. You can re-download from the site momentarily. 

Thanks for the letting me know. I'm so glad that you like the guide.


Integrations Product Manager / Training
Twitter: The3DNinja

Is there a way to use the Linear Values (0.0-1.0) in SD & SP like mentioned in the article, instead of the RGB Values (RGB,RGB,RGB)?
It's kinda annoying, in my opinion, to recalculate the values from Linear to sRGB, because it is much easier to keep Linear values in mind, instead of RGB.

EDIT: I attached a screenshot in which you can see how I tried to convert the Grayscale Integer Value to a Float value but it doesn't work. I definitely did something wrong :D

EDIT 2: It was simpler than I thought it would be: The second attached image shows the input parameter of a Uniform color. In the Function Graph I chose "get Float" and set it as an output.
Now I can use this Value within a range of 0-1.  BUT: It would be cool if it were available by default to be able to choose the input type you prefer for some maps! :)

EDIT 3: I just found out that in Substance Painter it is vice versa: Input Types are Linear and cannot be changed to RGB Values.
This creates an inconsistency between both Software packages for me... Can you fix this please?
Last Edit: January 31, 2015, 03:14:44 am
Environment Artist - Twitter

Hey Fabian,

If you just "expose" your Float parameter from your Node, it will display on your graph attributes.  You then change the dropdown selector to "slider".  Instead of appearing as Color RGBA sliders (0-255) they will appear as 0-1.  So there is no need to edit your function.

What you see in Figure 36 is not an Height-To-Normal Node, but a graph which is called Height-To-Normal.
The Heightmap in this graph is just plugged in the Normal Map output.
You can use the Height-Normal-Blend node with a normal color as a normal input and your height map as the height input.
This way you create a normal map with no opacity.
Environment Artist - Twitter


Wes mentioned in his Vol. 2 Guide a 'Tolerant' and a 'Strict' sRGB Range for dark values. For me it wasn't explained deep enough to fully understand it.
Can you explain it, for me, please?
Environment Artist - Twitter


Wes mentioned in his Vol. 2 Guide a 'Tolerant' and a 'Strict' sRGB Range for dark values. For me it wasn't explained deep enough to fully understand it.
Can you explain it, for me, please?

Hi Fabian,

The tolerant and strict values for sRGB dark values are just a range. So a strict version of this range is to say that no dark values below 50 sRGB. A more tolerant value for this rule is 30 sRGB. This allows for more darker values. So you can safely use any values within that range.

The PBR safe node as a tolerance slider and it moves between 30-50 sRGB.


Integrations Product Manager / Training
Twitter: The3DNinja


Download the Free guide

Wes, seems that this page is jammed and(or) has wrong layout, I tried to get content using IE and Chrome. HTML source does not have any reference on documents as well.   Would you fix it please?

The website for the PBR guides is broken .... links go to a page that doesn't format correctly.

I'd love to check this out but all roads lead to a broken page, even with a Google search.

Same - The PBR Guide page has no link to the guide on it lol.....

Please fix - it is a useful thing


It should now be fixed, sorry for the delay.

Director of Product Management & COO

Hey guys just wanna know if the guides will one day be edited in French ? I (for now) almost understand everything but it make the comprehension more difficult than in my own language. I wanted to thank you Wes for all the work with these guides and all the videos on YouTube it helps a lot to imagine the possibilities of these soft. Someone in Clermont to translate the guides?

Hey, I've asked this question on the Unity forums but figured it might get answered over here faster in more detail and with more expertise.
What do I have to keep in mind when opening the exported metal/gloss texture from SP in Photoshop to do some tweaks?
Does Photoshop tamper with the image in the Background when saving (e.g. converting from linear to gamma)? If so, can I disable this behaviour?
Is a 16bit normal map and metal/gloss map really required - or can I convert them to 8bit in PS (again, tampering with gamma this way?) without losing too much quality in Unity? Also Unity realted: does that engine actually make use of 16bit textures by default, or do I need to manually adjust the texture compression?

I figure these are mostly non-SP-related questions. But I hope that others seeking to use SP with Unity will benefit from your answers as well.

Hey msperling,

how Photoshop opens the images depends on the colour settings you'd chosen.
I recommend to create a custom Linear sRGB colour space and use that, as well as a linear greyscale space, to make tweaks to the textures.
You should use a levels effect or a proof setup to see those texture in Gamma space, anyway.

It is not required to use 16 bit normal/height/roughness maps as outputs, but you should use 16 bit to compute those.
To keep the memory impact low, you can of course use dithered 8 bit maps. You will loose quality, but depending on the model and map you have it isn't that big most of the time.

Best regards
Environment Artist - Twitter

Hey Fabian F.,
I must have missed your suggestion from the other thread:
Hey kashif.c.riley,

if you really would like to author your maps in Photoshop, for instance, you wouldn't want to author them darker and recalculate every time you make a change. It's quite confusing :P
What you could do is to create your own working space for Linear sRGB colour. To work just like you would normally you could use a proof setup to view the image in sRGB with a Gamma of 2.2, even if the actual image is linearised.

The biggest benefit I see doing that: You won't get those dark rims around blended colours, which you do get when not working with a linear colour space because Photoshop does the maths wrong somehow.

If you really need to use Photoshop this would the setup I would recommend. If not, just use Substance Painter :P

Best Regards

So what I did in Photoshop was to create an ICC Profile with Gamma 1.0. And whenever I need to modify a metallic-smoothness map from Substance Painter I switch Photoshop to that Profile, open the texture, do my stuff and save it.
With the proof Settings under the view menu you gave me a new toy to play with, thx. :)

But now I wonder. Since the Unity Standart shader seems to assume sRGB textures (even for smoothness?) do I really need to go this extra mile at all? If I read correctly in the other thread you are not required to "Bypass sRGB sampling" for metallic-smoothness maps. Does that mean Unity expects them to be in Gamma space? Confusion.