I need some help figuring out this PBR, I haven’t done 3D in years and want to get back into it and learn unity, but I’m used to working with diffuse, specular etc.
I’m trying to wrap my head around this PBR and metallic thing, but can’t find a decent tutorial anywhere.
I already found out that an albedo is like a diffuse without any lighting info and the metallness map tells apart metallic surfaces from non metallic, but how do I create it and where do I put it?
Also what is a roughness map and where does that go?
If someone could give me a quick explanation of how to create these maps and where to put them I would be so greatfull, Ive already spent a day trying to figure this out…
Thanks, but he is working with diffuse and specular, in the unity 5 default shader I only have Albedo and metallic slots and I’d like to know how those work.
There actually is a specular workflow option as well, though I’m finding the “metal” one easier to understand.
You are correct about the albedo. Technically, albedo is really just another word for diffuse, but in the context of PBR it does imply flat lighting with no shadows or highlights.
The metal map is almost always just pure white for metal and pure black for not metal. You put that in the “R” (red) channel of your texture. You can just put it in the regular RGB channels for convenience. It’s possible they’ll use G and B for something else in the future I suppose.
The smoothness map then just does in the alpha of that same texture. In Photoshop, I’ve found it works best to save as 32-bit TGA.
I’m not an artist, but I recently played around with the standard shader. I took a purchased model that included a PSD file that had enough elements to construct those maps, plus an emissive map. I also generated an AO map from Substance Designer. This is an unfair comparison, since there seems to be a bug in the legacy specular shader that that model uses out of the box, so it makes a rather hilarious comparison. The model right from the asset store is on the left. On the right is my version.
Best way to figure out is play with the shader parameters in engine. You can see what the smoothness and metalness sliders do if you put it on a object and move the sliders. When you use a map, the map reads those exact same type of values off things like grayscale and opacity (read docs on how exactly it’s saved into a map depending on which style of the standard shader you’re on)
What is better about maps is they don’t have to use just one value across the whole surface, they can be very custom, whereas with sliders it’s one value everywhere.