Juan Gea writes:
Now that we have an awesome ubershader in Blender 2.79, we want to review it and show you how to use it, suddenly creating materials in Blender Cycles has become something pretty easy, so we are doing a tutorial series to unleash it's power and discover some tips and tricks to keep in mind.
In Part 1 we review opaque dielectric materials and metallic materials.
We hope you like it!
11 Comments
Strange, but i don't get the effect from the Musgrave texture node, just the metalic
My result from the setup
Forgot the Texture Coordinates :-( it okay now
Thanks Juan for the tutorial, it shows some cool tricks
however i see it as "tricky", meaning that the values shown don't exactly respect the principles of PBR shading, expecially i find very strange the high values for the Specular parameter
as an introduction to the Principled Shader i suggest this other tutorial by Andrew Price, that better explains the philosophy behind the Shader implementation and the Metal Workflow (i work mostly for realtime so i need my results to be consistent with Unreal Engine and Unity)
https://www.youtube.com/watch?v=4H5W6C_Mbck
happy blending everybody
In fact, as I say in the video, increasing the values of the specularity respects the PBR principle, but just some materials are over that 1.0 of value, the ability to increase the specularity is just to gain "effect", I mean, in the end we are working on 3D, and while reality is our target in some cases, there are other siautions were reality is not our target, so being able to break those laws is great.
I don´t think it is tricky, what I think is that is flexible, so you can modify the shader while always respecting the PBR principles, becuase the PBR is not about hte values you enter, but how the shader have a consisten behaviour, of course, if you want to reproduce some specific plastic and you don´t introduce the correct values... you won´t get that plastic, BUT you will get that material in any situation, that is what PBR stands for, consistent behaviour along environments :)
In the Principled Shader documentation you have the equation needed to calculate the correct Specular value for every material, here you have the equation fromthe docs:
----------------------------------------------------------------------------
To compute this value for a realistic material with a known index of refraction, you may use this special case of the Fresnel formula:
specular=sqr((ior−1)/(ior+1))/0.08
For example:
water: ior = 1.33, specular = 0.25
glass: ior = 1.5, specular = 0.5
diamond: ior = 2.417, specular = 2.15
Since materials with reflectivity above 8% do exist, the field allows values above 1.
----------------------------------------------------------------------------
Cheers!
Ha! Such a great tips)
Glad to see my shaderball in action also.
Ah, It´s yours! :)
Thanks for it, it´s pretty useful, I used it back with Corona, but it works pretty well for shader testing in general, thanks for it!
Cheers!
good, you're right
Andrew says to leave the value at 0.5, and it makes sense because Substance has that number cabled, but it should be a function of the IOR
by the way: i've tried implementing that with nodes, but i'm not strong with the maths and the result are not coherent with the document values
would you take a look to my setup?
I´ve been checking this, and while theoretically your maths are correct, the fact is that the only way to achieve coherent results is to use a value of 2 in the power node, don´t ask me why because I don´t understand that, but if you put 2 instead of 0,5 you will get a consistent result, you may try with the different values that you have in the upper text, so maybe the formula is wrong, or maybe the Blender nodes work in a different way, I don´t know...
Hope this helps.
Cheers!
BTW to get to this conclusion I looked at the node that you can download in this video:
https://www.youtube.com/watch?v=s0VlyRbj-yQ
And checked it´s maths, and they were the same excep the power node having 2 as it´s value.
Cheers.
This helps indeed!
with power of 2 it works fine, strange...
thank you!