There seems to be a lot of material explaining the science behind PBR shaders but not much in the way of application references.
I downloaded The Shader Calibration Scene from the asset store and made some quick screen captures of all the metallic shaders included in the package.
Note the Metalic RGB Settings are a custom reference point I made in Photoshop, and is not part of the standard shader.
Well it's a demo that unity itself released. I just made screen shots for quick reference. The reflective ones do seem a bit odd. But I imagine it's because of the skybox reflection overpowering the actual colors.
This setup is strange. The materials are going to look off if they are reflecting something that doesn't exist in the scene. Thats definitely going to make things look off.
Also, wonder why they have everything set to emissive...
Emission set to 'black' with an intensity of 1 is the Standard shader default. Black = no emission, but as soon as you change the color values you'll get a correct emission without having to also dial an intensity value to see anything actually happen in-scene. We could probably hide the intensity value when the color is black but we do already have updates to emission and color value display coming in 5.1 that should help make the relationship between the two clearer.
So, I didn't put this scene together but I did make the shader charts and curated the material samples that are included (most of which are from the lovely folks at Quixel). I'd have to agree that materials with a high-degree of reflectivity (metals, etc) are looking pretty weird in the scene, probably due to the skybox being perceptually strange in what looks like a black-and-white gridded room. I might try and take a look at the scene this week and see if we can make this less strange.
Any other feedback anyone has, I'll try and work that in as well!
-edit- Actually, Black and Intensity 1 was the default when I put these mats together; looks like that changed for release so I'll go back and fix those too
The Standard shader is pretty closely aligned to match Marmoset's and if you scan through, you can see that many of the samples on Marmoset's page are identical to the ones in the Unity scene (being Quixel source). I'd guess that makes it clearer that it's a scene setup issue and hopefully nothing wrong with the PBR values themselves, which I'd tried to go over pretty rigorously several months back.
If I get a bit of spare time tomorrow I'll try and see what's going on with the scene. Thanks again for flagging it up!
So I got a little time over lunch to look at this. I've changed a ton of stuff under the hood and in the scene setup itself, but the most visible changes can be seen here:
Change log is here
Inverted floor and wall textures to neutral white so scene elements are less distracting
Added walls and floors pointing inwards, so reflections are more scene-correct
Rejigged whole scene structure so that walls are toggle-able in one go for skybox testing
Added spheres as more familiar testing objects
Reworked all gameobjects so that they have a realtime reflection probe as a child
Made only the pot rotate, lid now stays still
Reworked lightmapping and light bake contribution settings
Tweaks to camera and image effect settings
Vertical charts and reflectors off by default
Hopefully looks a lot more predictable now - most of the surfaces behave a lot better in this revision. I'll hold off updating the actual package until I get a little more feedback and an okay from the art lead who put the scene together.
If you're going to have your material preview in an enclosed space like this, you really should be using an environment probe to capture that space for your material reflections. That's what's throwing off all the highly reflective materials.
There was a probe in the earlier versions too, it's just that there was no 'front' to the scene, so I'm presuming it ended up looking weird because you're seeing the skybox instead of more walls. Hopefully my fix from today should help that.
But yeah, every test object has (and always had) its own reflection probe, and they're set to realtime update whenever a change happens in-scene. By default, the objects are now capturing the four walls and open roof. If you turn the walls off, you'll see it capture the skybox and floor, as in the last image.
Replies
and use sun light with less distracting ground and wall texture
Also, wonder why they have everything set to emissive...
So, I didn't put this scene together but I did make the shader charts and curated the material samples that are included (most of which are from the lovely folks at Quixel). I'd have to agree that materials with a high-degree of reflectivity (metals, etc) are looking pretty weird in the scene, probably due to the skybox being perceptually strange in what looks like a black-and-white gridded room. I might try and take a look at the scene this week and see if we can make this less strange.
Any other feedback anyone has, I'll try and work that in as well!
-edit- Actually, Black and Intensity 1 was the default when I put these mats together; looks like that changed for release so I'll go back and fix those too
http://www.marmoset.co/toolbag/learn/pbr-practice
The Standard shader is pretty closely aligned to match Marmoset's and if you scan through, you can see that many of the samples on Marmoset's page are identical to the ones in the Unity scene (being Quixel source). I'd guess that makes it clearer that it's a scene setup issue and hopefully nothing wrong with the PBR values themselves, which I'd tried to go over pretty rigorously several months back.
If I get a bit of spare time tomorrow I'll try and see what's going on with the scene. Thanks again for flagging it up!
Change log is here
- Inverted floor and wall textures to neutral white so scene elements are less distracting
- Added walls and floors pointing inwards, so reflections are more scene-correct
- Rejigged whole scene structure so that walls are toggle-able in one go for skybox testing
- Added spheres as more familiar testing objects
- Reworked all gameobjects so that they have a realtime reflection probe as a child
- Made only the pot rotate, lid now stays still
- Reworked lightmapping and light bake contribution settings
- Tweaks to camera and image effect settings
- Vertical charts and reflectors off by default
Hopefully looks a lot more predictable now - most of the surfaces behave a lot better in this revision. I'll hold off updating the actual package until I get a little more feedback and an okay from the art lead who put the scene together.But yeah, every test object has (and always had) its own reflection probe, and they're set to realtime update whenever a change happens in-scene. By default, the objects are now capturing the four walls and open roof. If you turn the walls off, you'll see it capture the skybox and floor, as in the last image.