for this, i want detailed, and tecniqual answers from industry specialists only.
ive always thought it was the standard color map + normal map + specularity map and in some cases, displacement map and AO map. but resently, ive been introduced to roughness map, metallic map, height map (witch i assume is same as normal/bump map)
so there are a lot of different maps that to me seems to do the same thing, but what is the difference between them, when is one used over another, and what is the different outcome.
when would you use a metallic map over a specularity map, and how do you use a metallic map in blender? same way as you would use a spec map?
Shading is a bit more complex topic than throwing together some maps. I can use the metallic map for controlling glass opacity if it makes me happy. The point of using texture maps is to describe the variation of some property on the surface (or volume) of the object. As there are countless properties depending on the shader complexity, there can be a lot of places where you can control those properties with maps. You can use the specularity map to add dirt, control roughness, reflection color, strength of normal map, hue of diffuse color and so on. Do what you need to do, name of the map is not important, what you want to achieve is. Maps don’t do anything by themselves, shaders do.
well take that with a grain of salt, i ment i did not want replies from people who didnt know how it worked on a technical level. someone who knows how the maps work rather than just how to use them.
i know how normal maps work, bump map, displacement map, specularity map etc
but metallic map, i know what it does, and how to use it, but not how it works. what is the difference between glossy and metallic, and how do you make “metallic” in blender, or how do you use a “metallic map” in blender.
if i would describe a metallic map i would say it changes the reflection on sertain areas on a surface, but i dont think that is fully correct as that is what a specularity map does. whats the difference?
What does metallic map do and how do you use it? Based on that we can tell you how it works. It is not an universal term, I will make a wild guess that you got it from Unity material properties. If so, I will take another wild guess that it controls the amount of reflections and maybe also the amount that reflections are tinted (metals tint reflections, dielectrics like plastic do not).
i did not get it from unity, its used in several different rendering engiens, aswell as texturing programs.
i dont think its simply reflection, i got in touch with a texture artist who could tell me what it does.
so basically, a specularity map is fake, it is not accurate to the real world at all, and is something we made up. a metallic shader is based off of PBR or physical based rendering. in other words, a rendering engien that tries to emulate real materials. kinda like cycles, but even more accurate.
a metallic map also requires a roughness map, the roughness map controlls the roughness of the shader, while the metallic map from white to black kinda looks like you go from a clean mirror (just like glossy shader) but if you go to the other end, it has a soft foggy roughness to it, aswell as a fresnel, cause it shaded different depending on the viewing angel.
so in blender, it would look somewhat like this:
NOT ACCURATE! but simular. the two last mix shaders emulates the roughness map, and metallic map.
The factor of last mix node is 0, so only one input does something. Everything else is a hard to understand logic except using fresnel to control the mix of two shaders. But the mixed shaders themselves don’t make much sense.
You are mixing shaders, maps ans textures as if they are the same thing. They are not. There is nothing less fake in any other map compared to specular map. The point is, what is the property that this map is controlling.
Most render engines these days are faking or better to say simplifying the way materials are described and how the path of light is modeled. The main goal of PBR is to achieve energy conservation, but it is only half the way. The other side is related to how we describe light and perform calculations with it. An RGB based model is quickly reaching its limitations with wide gamut systems like ACES and most probably multispectral rendering will gain more momentum
Don’t overthink this, it’s supposed to be a simplication, after all. A metallic map is just a mask between two shaders layers, one dielectric (white reflection, has fresnel) and one metallic (colored reflection, no fresnel).
Like some other people have pointed out, maps types aren’t some absolute thing, they’re just named for the shader channels they attach to. Older shaders had a “specular” channel to fake reflections by making highlights on the surface facing lights. (as that’s all spec highlights are, reflections of light sources). There was a control to change the size of the highlight, because on real surfaces microscopic imperfections (“roughness”) causes the reflection to blur out. “Physically based renderers”, of which Cycles is one btw, refers to a bunch of different segments of the renderer, but as far as a shaders are concerned it refers to modelling the actual blurred reflections that all surfaces have. This modelling can be done by blurring reflections probes, or raytracing, or even traditional spec-highlight tricks (just deriving the size and brightness of the highlight from fresnel effect and roughness).
A metallic map does not itself require a roughness map, it’s just that many shaders that have an input for one also have an input for the other.
one more question just to clearify something. my teacher said that metallic/roughness maps are spesific to sertain softwares, such as substance painter witch is what we use for texturing, and when exporting, you can convert it into a specularity map, or you can get a metallic/roughness map witch is only supported by Some softwares, and maya/cinema4D (and i assume 3ds too considering its age) are NOT one of them. so i assumed blender did not support it either since ive never seen the term “metallic” be used in blender before.
what is your input on this?
is the nodemap you made pysically accurate to what a metallic/roughness shader should look like, or is it just an emulated one?
also, any input on my teachers statement about metallic maps?
i will do a render test on monday when i get back to school, i got all the programs i need there.
ill do a render using every renderer i can get my hands on, using an HDRI for lumination, no other light sorces, and compare.
no AO or GI
if any of you have any inputs, do so now. i will use my node setup (witch i expect to be the worst outcome) and i will use J the ninja’s node setup aswell and post the resoults.
Well, if your software doesn’t have a shader with a metallic input, you won’t get much use out of map data for a metallic input. Cycles does not have one built in, but since Cycles works by stacking simple BSDFs, it’s possible to assemble one as a node group, which is what most of those PBR node groups are. Btw, the “specular” map you generate from a metallic map is different from a traditional “specular” map. In a traditional shader, the spec channel is the color/intensity of the highlight directly. In a “physically based” shader, it’s the IOR of the surface in the red, green, and blue regions of the spectrum. So dielectric surfaces are dull gray (low IOR, constant across the spectrum, which becomes the white reflection with fresnel) and metallic surfaces are bright and colored (high IOR which is not constant acorss the spectrum, becomes colored reflection with no fresnel)
Physically accurate vs emulated is sort of a gray area. For example, most metallic/roughness shaders model the metal shader as a reflective BSDF with no fresnel. This isn’t actually true, metal does have a fresnel effect, it’s just different from the one dielectric surfaces have. Actually, if you want to get nitpicky, all surfaces are partly transparent too. Really, it’s all just emulation, just varying degrees of accuracy.
There’s a few posts on my blog that discuss why this shader looks the way it does, and some examples showing it correctly imports from Substance:
As for why not use a PBR node group, well, what do you think those PBR node groups are? They’re basically just this, maybe with extra nodes to more accurately emulate fresnel, or have emission or glass options or something. Or to multiply AO, but you shouldn’t do that