Finally. I feel so validated. I've had prior seniors arguing with me that i was wrong about it and i couldn't even talk about it. Now that i help people learn it, i can point them towards this video and help them understand how i see it. Thank you!!
Finally someone is saying like it is. Complex surfaces and layered materials sometimes absolutely have to go in the grayscales for metalness values. it's also valid for other things in character like fabrics (silk and nylon being the first two examples that come to mind) And it's especially true if you start layering dirt or other semi opaque or very diffuse residue on top. Those hardcore rules of PBR are like the rest of those structures, once you start to understand why they are in place, you can slowly try to bend them and then break them when it suits your needs. Understand how it works and go break and bend some rules folks. PS: Thanks you Laura for taking the time and talking about the subject. More people need to her stuff like this from experienced professionals with nauthoriety.
100% spot on Alexei. Bravo. I had a person a year or so ago trying to beat me over the head with this 1/0 metal argument in renders... and then they hit me with "the same applies to anisotropy, it only applies to metals" I just chuckled and actually stopped talking. At that point I had nothing else to say, and they were like "what, no response? I know I'm right about this, nothing shows that property." I said "well, just like with metalicity, anisotropy isn't a black and white thing, because anisotropy is specularity that follows fine directional depth or height lines of a surface, and is present in a BUNCH of stuff, most notably fabrics." They laughed and shook their heads, and said "yeah, name a fabric with anisotropy" I said "nylons. pantyhose. spandex. a wool sweater, even though its almost impossible to detect since its at such a low level." they sat there jaw on the floor, and as they were drawing breath to try to respond I said "flip a blu-ray over. Anisotropy. wax your car and spend too much time in one place with the electric buffer. anisotropy." too many people take the pbr workflow as the bible because in many situations its a great starting point, but so few realize that in almost no circumstance in the real world is anything black and white. That's what makes the difference between a realistic render and a well, not realistic render. No bones about it. Pbr is a starting point, and even people who work pbr all day long say "yeah, the ideas are great starting points but we got sliders on everything for a reason"
Hardcode PBR Rules apply to pure materials, which the rules make very clear so. We barely ever see pure materials. So when dealing with impurities, dirt etc. grey is okay, it is even said so in the PBR Guide. I believe most people fighting for the "hard core rules" haven't really interpreted them nor may I say read them by themselves.
I won't presume to speak as an artist (which I am not), but rather as an engineer creating 3D models, materials, textures, and shaders in my technical role. My prior experience includes over 10 years working for a manufacturer in the precision metals industry. The only time my PBR materials use metallic values or roughness values of 0.000 or 1.000 are prototype or stylized materials, or occasionally in a performance-critical custom shader where pinning the value (versus something "almost" pinned) lets me bypass some shader logic. Sometimes "fast and simple" is more important than "perfectly accurate", so a pinned metallic or roughness value is a tooling shortcut to use when needed -- but judiciously. Aside from the fact that there are very few pure metal or pure dielectric materials in the real world, in many materials there are "almost pure" metallic particles embedded in "almost pure" dielectric bodies, or vice-versa. As a matter of fact, several years of my manufacturing experience involved designing systems to detect those anomalies nondestructively in parts made from high-purity refined metal, because even this was not absolutely pure. For non-infinite pixel density at practical viewing distance, microscopic particles will be aggregated within single pixels. How do you approximate one pixel that in reality would contain 6% microscopic metal crystals and 94% nonmetallic mass? The best tool you have is probably to set the metalness to 0.06 for that pixel. In learning to develop PBR materials, I found that some instructors do teach setting metallic values to 0.0 or 1.0, but it's not universal. Even those who do so often introduce this as an approximation, e.g., "in reality, this would have a metalness of 4%, but in practical terms you can approximate this as a pure dielectric depending on your project requirements." Examine the built-in nodes for tools like Substance Designer and you can see that the notion of metallic values near, but not exactly, 0.0 or 1.0 is mainstream practice. (For example, the group of nodes in the "PBR Utilities" category of Designer would not be needed if reality was as simple as 0.0 or 1.0.) IMO, the rule should not be "pin the metallic at 0 or 1 unless you have a good reason not to," but rather, "set the metallic to a physically accurate value -- probably near 0 or 1 -- unless you have a good reason to pin it." In either case, know the reference surface properties, know the performance requirements, and make a choice rather than a blind assumption.
This is genuinely one of the best videos I have ever seen on this topic. I’m so glad I found this channel! You do such an awesome job of explaining things in a clear, concise way, and you definitely know your stuff. Thank you!
I'm a material engineer and I can Tell you that your vision about the way that materials interact it's extremly accurate in terms of materials engineering, great explanation Laura
You don't need to be humble about it, you are 100% right! All someone needs to do is explore the materials in Substance Painter and they'll see how important the grey scale in a metalness map IS to get a realistic looking material. Fantastic video, as always Laura!
Funnily enough, I think there was another example on screen during most of the video.. although maybe one that may be a tad more specific.. your makeup. There's a lot of makeup, foundation, highlighter, etc that has metallic reflectivity embedded through the use of a bunch of (probably not always fantastically healthy) ingredients. Nonetheless, that might be one additional example. Anyhoo, great video, just discovered your channel through the new textile textures video and this other one felt really interesting. Keep up the great work!
It's refreshing to hear someone properly talk about this topic, thank you! I've only experienced disagreement about metalness values so far - everyone seems to have a different opinion about it, it's so exhausting
I understanding so much, I'm living this thing in this period unfortunately. I always get the same feedback, "metalness value should be 0 or 1 not middle values"...
Again clearing up myths. Wonderful. When deep searching about the topic on the net, one can stumble upon some polycount threads that deal with this misconception as well. It is very widespread.
Hey I just wanted to say that I discovered your channel yesterday and am loving your content. Great stuff, keep it up and Thank you! Looking forward to joining the Outgang and learning even more!
I wasn't sure about joining Outgang but the more I see your videos the more I realise you are A BRILLIANT artist AND teacher. Im still at the start of my journey with less than 6 months of experience and thanks to your channel everything has been so much clearer and easier. I'll definitely join the gang once i've finished school! (cause you know school is already expensive and im broke...)
The problem with looking at the metallness map as a percentage rather than a binary is that in the lighting model it is driving is performing a switch between two different BRDFs (dielectric and non dielectric). You can only use the metalness map to describe a proportion of these BRDFs if you are calculating the lighting for each BRDF and then blending the result otherwise you are not getting an accurate mixed result.
A more technical discussion about the engine part is really interesting. The behavior you're describing (calculating the lighting for the two BRDF's separately and blending them together) has to already often be happening though right? Mipmaps alone should make that a reality.
@@Outgang I think more often than not it is avoided for the sake of optimization. The mip mapping issue is also specific to the metalness workflow. If the renderer is using a spec gloss BRDF you can accurately describe the mixture of dieletrics and non dielectrics and not encounter mipping errors (admittedly at the cost of more texture memory)
@@tobyrutter Yeah that's legit. I've encountered plenty of engine shaders too that were either only metal or only dielectric for optimization purposes. On modern-day consoles it feels to me like we should be able to afford shaders that deal with these gray metalness values in a more interesting way. I like to think of it as an ideal to strive for. Artists and programmers have to push on each other a little bit to find the best middle ground.
While I agree with the optimisation part, theres also the issue of the soft edge artifacts that you get when you have a blurred transition on a pure black to pure white metalness parts on texture that are not crisp enough, and I believe that it was also this kind of technical issues that drove the discussion of yore towards the mythical "thou shalt not graycale in the metallness map" that some pleople seem to swear by. I'd say that you can still get interesting results if you do it in a smart enough way. In the end, if it looks good but you had to break every rule in the PBR Bible, I'd still call it a win.
You can do your mipmap manually when you're losing the detail of your metallic... if you do lace opacity with not manually doing your mipmap you'll end up with something opaque.
Thank you! I've been fighting this battle for a long time! When people think of the map being binary and fight it like hell to say that's the way it is "to preserve PBR" I assume they also didn't read the PBR guide to begin with or just skimmed through it. because it clearly states that GREY IS OK if you are dealing with small dirt, grime, and impurities in your metal. it even says that there is no good way to measure it, but that if you lower the metallic you should lower the albedo as well. White is PURE metal, in fact. 0.93 is pure metal as well, but we barely ever see pure metal in our everyday lives as dirt and impurities are a part of life that we tend to simulate as well.
very nice explanation Laura . I've always find adding a subtle meltiness to Silk and Nylon fabrics helps a lot . Metal is either 0 or 1 shouldn't be hard and fast !
great video explanation! other stuff that are "metallic" for characters that i've encountered are silk, embroidery, oil slick/iridiscent jackets.. before if i wanted stuff to be metallic vs. non metallic, my brain just says does it conduct electricity or not? now i'm finding to use 0.8 metalness to get darker albedo colors especially for gun metals and still be PBR validated in substance painter..
I can agree with the idea of using grayscale values in the metallic map for artistic purposes, however, it is important to mention that essentially metallic map is simply being used as a mask in a linear blend between two different types of surface shaders (metallic and dielectric) that are running under the hood at the same time. It means that if we are using only binary values then we correctly choose between one or the other but grayscale values are by no means represents a correct physical way of that transitioning. The roughness map is fundamentally different from this case so those two maps cannot be directly compared. As was already mentioned, it is important to understand what's going on to be able to break the rules successfully. You just need to be aware, that breaking PBR workflow could potentially lead to certain rendering problems down the line, especially in tricky lighting conditions.
I appreciate your comment, but your mentality here is why, even today in 2021, the quickest dead giveaway that lets a viewer know they're looking at a render instead of a photo is the metals in the scene. Period. Its immediately obvious as soon as metals come into play in the majority of renders. The reason why is just like a glossy surface in the real world is almost never perfect, so a perfectly glossy surface in a render always looks fake, so to are metals rarely "purely metal" on the surface. With the exception of a handful of metals, nearly every metal begins oxidizing as soon as its exposed to air. So since a real-world metal surface has a transition between a fully metal surface and a somewhat less metallic surface in almost every physical case, my question to you is, how can you claim a grayscale transition would be less correct than a black and white hard on-off representation? While the pure grayscale transition might not be physically accurate in itself, you can certainly tweak a map with greys in it in order to make the result much more realistic and much more believable than trying to use the black and white on-off approach, which is much further from physically correct, and is also much less believable in a render. So, I guess my next question is, how exactly did you come up with the idea that since a greyscale map is being used to linearly blend a metalic with a dielectric map, that its physically inaccurate? What data do you even have on metalicity on a metal surface to base that idea on? The oxidation scale in the real world might exactly correlate with the greyscale mix in a metalicity map. My point is, so few people have used the greyscale technique in their metals in renders, that most people in the 3d industry simply do not know if the greyscale map represents a correct or incorrect mix of the two. You're assuming alot here, basing it on literally zero 3d environment data, because nearly nobody uses greyscale maps. That's why nearly everybody's metals still look fake. So the overarching piont here is this: Even if a greyscale map is not exactly correct transition wise, in itself, it would still be magnitudes more accurate than a black and white mapping approach, in almost every single case you use it in. Even in a render of a brand-new shiny penny, I'm sure it would benefit from slight variances in the grey value of the black and white map, and result in an organic looking penny instead of just another incorrect looking 3d render. But let's play devil's advocate. Let's say you're 100% right and a greyscale map isn't an accurate transition because its linear and say, maybe the real world transition is logo or expo or something else like an S curve. Don't you think that with just a few months of experimentation within the 3d industry that a few thousand people would come up with ways to either manipulate the grayscale map itself, OR, create an algorithm that processes grayscale in a more physically correct way, so that we could, in just a couple of months, finally solve the problem that's been plaguing the 3d modeling community for as long as reflectivity and specularity did? In the early days, we handled specularity and reflectivity with stuff like falloff maps, which were absolutely NOT accurate. But they still looked better than what we were using before. the bottom line is, even if a greyscale isn't mathmatically "exactly right" its a hell of alot closer and more realistic out of the box of a real world representation of virtually every metal on the globe, save those that have been coated or treated with an anti-oxidant protectant, and even then, its still often not perfect, and as a person who's worked with metal, I can personally attest that even a perfectly rust or tarnish free metal surface can have varying degrees of metalicity just from the type of manufacturing process used to make it, such as welding or if it was punched out of a press. So i don't get where using a graymap on metal would "break pbr workflow" as pbr workflow has had a slider and an adjustable value on metalicity since it was rolled out, on every pbr render environment I've ever seen. Its there for a reason, and people simply up to this point have not used it because its just easier to call it one or the other and do black and white. And Laura makes a fantastic point which moots yours in the process. Regardless of how you map it, by the time it gets to the gpu, its likely to exist as a greyscale anyway at some point, so whether or not its an accurate curve in relation to real-world metalicity, the gpu does it regardless of what you may think about the subject, and its not bothered you at all up until this point. And if your lighting affects your metals in a negative way because there's a greyscale map on your metalicity, then the grayscale map isn't your lighting issue, your lighting IS the issue, and is probably showing signs of being poor in other areas. Lastly, I'd like you to sit and think for a moment about how we even GOT to PBR materials in the first place? People who weren't afraid to break workflow and decided it wasn't good enough and wanted to try to improve.
@@bryanharrison3889 Wow, I had to spend quite some time to even read this! It seems like I hurt your feelings, however, I had no intentions to do so. I'm sorry if I did. Now to the points: 1. I don't claim anything. I just passing the info that is easily searchable online and wasn't invented by me. I said that I agree with the Idea of using grayscale values for artistic purposes. Don't know why you making opposite assumptions. 2. Again, I based my point on public data. Just to clarify - conductors and dielectrics have drastically different specular reflectance values, and in the real world, this transition will be different from the shader approximation. You can read about it more online if you want. 3. I can repeat myself, I don't mind using grayscale values, however, asset renders are not that important compared to let say game development. If it's only one shot you are after, then, by all means, use whatever works for you. However, it's hard to maintain consistent quality if your assets only work in certain lighting scenarios. That's why PBR was invented. To help us make consistent materials that would work nicely in every environment. 4. I believe that solution to the problem was a fast approximation instead of a complex formula, because of its runtime nature. You don't really want to make real-time things complex just for the sake of it with diminishing returns. 5. If values are not compliant with PBR workflow, I say workflow "breaks". I don't mean it is a bad thing in itself. It might screw something up eventually, but of course, I'm talking from the game development point of view. 6. About the BnW map turning into gray mipmap. It was a somewhat strong case in the video, which doesn't necessarily represent the real scenario. I didn't see the point to comment on that but since it's not obvious to you I might. The thing is, you don't usually have a 50/50 metallic map. Of course, this would result in an average gray. But what about the practical case? If you have a box with damaged edges which reveal the metal, do you still think you'll converge to a mid-gray metallic map down the line? 7. Nobody broke any workflows with PBR. Technology evolved and people just moved on. They made it easier to work on the project collaboratively with minimal guesswork because if your material was made in compliance with PBR then any typical lighting scenario should be fine.
@@dzmitryyafimau7647 @Outgang Isn't the paradox asset in the video good evidence that greyscale values are properly accounted for in modern game engines? I have a hard time believing that could get through quality control at epic games if it was so blatantly unrealistic since it does seem that they were striving for a realistic art style. All computer rendering including PBR is an approximation of reality of some kind since we do not obviously have the computer power to simulate light and matter accurately in real time at the atomic level currently. All we should be really concerned with is how we take a photo and a computer render of the same thing and compare the pixels of the photo to the pixels of the render and how similar the color values are. You seem to believe that you have some deep understanding of the inner workings of game engines on this topic, is it possible that your understanding is out of date? Maybe you do have some deep understanding and can provide some evidence of your credentials.
@@geraldbelman759, I'm encouraging everybody to carefully read and understand what other people trying to say before making their own point. It's somewhat obvious that any type of rendering solution is an approximation to some extend. Realtime rendering is by definition should be considered the roughest one. I never ever said that grayscale values in the metallic map are unrealistic. I only mentioned that transition that they are providing is not physically correct. The first thing I did is that I agreed upon the thesis of using grayscale metallic values for artistic purposes. If we all here considering artistic purpose as part of an answer to a question "is this render looks good and comparable to a real photo?" then I don't see a problem. Especially with Paragon assets. They don't try to claim that their rendering solutions are 100% physically correct. In fact, if you were to watch any of the epic games streams regarding the unreal engine tech then you'd know that one particular phrase coming up quite often and it sounds like "in real-time graphics, it's all about smoke and mirrors". Anyway, I only wanted to raise awareness about going down that road because you really have to understand what you are doing. And maybe it wasn't clear at first but I meant the game dev context. Since you are interested in my credentials I work as a material artist on a game powered by an unreal engine. So believe me I encountered many problems with assets that were too shiny for the places they were in just because they had poorly authored PBR maps and yet some of the surfaces are indeed using slightly grayish metallic color to get a specific look. Even in UE docs, you can find notes that are explicitly telling you to resist making surface metallic just because it looks better. The key takeaway is that if you know what you are doing you are good to go.
@@dzmitryyafimau7647 I appreciate your response. I guess what I am trying to do is understand what you (and a lot of other people) are saying that doesn't seem to make much sense. You are obviously not alone in your opinion on this topic. Yours is the more common opinion. But it doesn't make any sense. Everything I've seen about metallic values mentions that it is uncommon to have greyscale values but not prohibited. And then people like you say greyscale values are fine for artistic purposes but not physically correct. What the heck does that mean? What is physical correctness? Is it something we can measure. Is it something that someone who helped design the PBR workflow decided was important. is it the same as realism? What is it? And then you have this issue of what kind of surfaces are common or uncommon in the real world. Bare, untarnished and unrusted metal is exceedingly rare in my world. I guess silverware, bathroom fixtures, jewelry are the only things and they don't take up much surface area in my world. Most metal surfaces are painted or varnished or rusted or oxidized somehow. So maybe this is just a misunderstanding about what kinds of surfaces are most common in the real world. Metallic paint is quite common in my world such as on cars and other equipment. And then you have the issue of lighting artifacts or problems caused by greyscale values. I've been searching for these for a while and haven't found them. Maybe you can provide some examples. Because everything I've seen in high quality assets (such as those paragon assets) uses greyscale values with significant frequency.
Enlightening. And it does make sense, materials that have particles that give some metal effect without presenting visually very much. I wonder if using the surface texture as a metallicity input, like one does with roughness, would be a good way of driving these grays? Thanks so much for sharing.
Yes. Fundamentally it should only be only black or white or yes or no. BUT, once you're trying to make a realistic look, you can then figure out what imperfection layers that are stacking on top of it. is it a metal coin with dust, rust, scratches and wear, glass crumble, moss, coral? then all those imperfections are dialectic. subtract them all from the metallic mask which is white and you get shades from white to black depends on how smooth those stuffs are scattered around on each layers on their resolution. is it a wood with burn mark, dust, scratches, mud/paint and metal shrapnel with sharp edges and rough edges here and there, ? same thing. after understanding that, then it is no longer a boolean or binary whatever you wanna call it. Actually that's how professional texture map creator creates high quality textures. Also remember there is also roughness. TLDR: Metalness should always be black and white, until you want to introduce imperfections in what resolution. When things are just considered too small, then count it as noise that lands on shades of grey. Things ain't perfect if there is no imperfection.
From time to time I have wondered when having a non-binary metallic value makes sense, and the only thing I really thought about was areas of metal where paint was partly chipping off and partly rusted metal. I really like the examples you gave, ore being something that makes perfect sense since a lot of times ore is a hybrid between metallic and non-metallic minerals. And, yeah, non-binary metal values make a lot of sense, since there's really no such thing as binary in nature.
As @Outgang said, a texel (texture element) is a pixel (picture element) of the image that you are using in your material on your model. And the difference is there because if you zoom really close to the surface, one texel on the model can fill an area of multiple pixels on your screen. You often see that on lowres texture in games when you drop the setting of texture quality to low.
Finally. I feel so validated. I've had prior seniors arguing with me that i was wrong about it and i couldn't even talk about it. Now that i help people learn it, i can point them towards this video and help them understand how i see it. Thank you!!
Finally someone is saying like it is.
Complex surfaces and layered materials sometimes absolutely have to go in the grayscales for metalness values. it's also valid for other things in character like fabrics (silk and nylon being the first two examples that come to mind) And it's especially true if you start layering dirt or other semi opaque or very diffuse residue on top.
Those hardcore rules of PBR are like the rest of those structures, once you start to understand why they are in place, you can slowly try to bend them and then break them when it suits your needs.
Understand how it works and go break and bend some rules folks.
PS: Thanks you Laura for taking the time and talking about the subject. More people need to her stuff like this from experienced professionals with nauthoriety.
Thanks for pointing those out, I was so focused on metals I totally missed pointing out some obvious ones. Cheers!
100% spot on Alexei. Bravo. I had a person a year or so ago trying to beat me over the head with this 1/0 metal argument in renders... and then they hit me with "the same applies to anisotropy, it only applies to metals" I just chuckled and actually stopped talking. At that point I had nothing else to say, and they were like "what, no response? I know I'm right about this, nothing shows that property." I said "well, just like with metalicity, anisotropy isn't a black and white thing, because anisotropy is specularity that follows fine directional depth or height lines of a surface, and is present in a BUNCH of stuff, most notably fabrics." They laughed and shook their heads, and said "yeah, name a fabric with anisotropy" I said "nylons. pantyhose. spandex. a wool sweater, even though its almost impossible to detect since its at such a low level." they sat there jaw on the floor, and as they were drawing breath to try to respond I said "flip a blu-ray over. Anisotropy. wax your car and spend too much time in one place with the electric buffer. anisotropy." too many people take the pbr workflow as the bible because in many situations its a great starting point, but so few realize that in almost no circumstance in the real world is anything black and white. That's what makes the difference between a realistic render and a well, not realistic render. No bones about it. Pbr is a starting point, and even people who work pbr all day long say "yeah, the ideas are great starting points but we got sliders on everything for a reason"
Hardcode PBR Rules apply to pure materials, which the rules make very clear so. We barely ever see pure materials. So when dealing with impurities, dirt etc. grey is okay, it is even said so in the PBR Guide. I believe most people fighting for the "hard core rules" haven't really interpreted them nor may I say read them by themselves.
I won't presume to speak as an artist (which I am not), but rather as an engineer creating 3D models, materials, textures, and shaders in my technical role. My prior experience includes over 10 years working for a manufacturer in the precision metals industry. The only time my PBR materials use metallic values or roughness values of 0.000 or 1.000 are prototype or stylized materials, or occasionally in a performance-critical custom shader where pinning the value (versus something "almost" pinned) lets me bypass some shader logic. Sometimes "fast and simple" is more important than "perfectly accurate", so a pinned metallic or roughness value is a tooling shortcut to use when needed -- but judiciously.
Aside from the fact that there are very few pure metal or pure dielectric materials in the real world, in many materials there are "almost pure" metallic particles embedded in "almost pure" dielectric bodies, or vice-versa. As a matter of fact, several years of my manufacturing experience involved designing systems to detect those anomalies nondestructively in parts made from high-purity refined metal, because even this was not absolutely pure. For non-infinite pixel density at practical viewing distance, microscopic particles will be aggregated within single pixels. How do you approximate one pixel that in reality would contain 6% microscopic metal crystals and 94% nonmetallic mass? The best tool you have is probably to set the metalness to 0.06 for that pixel.
In learning to develop PBR materials, I found that some instructors do teach setting metallic values to 0.0 or 1.0, but it's not universal. Even those who do so often introduce this as an approximation, e.g., "in reality, this would have a metalness of 4%, but in practical terms you can approximate this as a pure dielectric depending on your project requirements." Examine the built-in nodes for tools like Substance Designer and you can see that the notion of metallic values near, but not exactly, 0.0 or 1.0 is mainstream practice. (For example, the group of nodes in the "PBR Utilities" category of Designer would not be needed if reality was as simple as 0.0 or 1.0.)
IMO, the rule should not be "pin the metallic at 0 or 1 unless you have a good reason not to," but rather, "set the metallic to a physically accurate value -- probably near 0 or 1 -- unless you have a good reason to pin it." In either case, know the reference surface properties, know the performance requirements, and make a choice rather than a blind assumption.
Not only a great breakdown of metalness maps, but also helped me understand what mipmaps are. Thank you!
This is genuinely one of the best videos I have ever seen on this topic. I’m so glad I found this channel! You do such an awesome job of explaining things in a clear, concise way, and you definitely know your stuff. Thank you!
I'm a material engineer and I can Tell you that your vision about the way that materials interact it's extremly accurate in terms of materials engineering, great explanation Laura
You don't need to be humble about it, you are 100% right! All someone needs to do is explore the materials in Substance Painter and they'll see how important the grey scale in a metalness map IS to get a realistic looking material. Fantastic video, as always Laura!
Funnily enough, I think there was another example on screen during most of the video.. although maybe one that may be a tad more specific.. your makeup. There's a lot of makeup, foundation, highlighter, etc that has metallic reflectivity embedded through the use of a bunch of (probably not always fantastically healthy) ingredients. Nonetheless, that might be one additional example. Anyhoo, great video, just discovered your channel through the new textile textures video and this other one felt really interesting. Keep up the great work!
Haha! That's a great observation about the makeup. You're 100% on point.
It's refreshing to hear someone properly talk about this topic, thank you!
I've only experienced disagreement about metalness values so far - everyone seems to have a different opinion about it, it's so exhausting
I understanding so much, I'm living this thing in this period unfortunately. I always get the same feedback, "metalness value should be 0 or 1 not middle values"...
Again clearing up myths. Wonderful. When deep searching about the topic on the net, one can stumble upon some polycount threads that deal with this misconception as well. It is very widespread.
Hey I just wanted to say that I discovered your channel yesterday and am loving your content. Great stuff, keep it up and Thank you! Looking forward to joining the Outgang and learning even more!
I wasn't sure about joining Outgang but the more I see your videos the more I realise you are A BRILLIANT artist AND teacher. Im still at the start of my journey with less than 6 months of experience and thanks to your channel everything has been so much clearer and easier. I'll definitely join the gang once i've finished school! (cause you know school is already expensive and im broke...)
Good luck with your training and your future career Akagarbi!
Thank you so much! I was so confused about metalness when texturing my fish model's scales until I stumbled upon your video.
08:06 I knew about mipmaps and whatnot, but this simple piece of knowledge in this section is gold
I can't believe this is even a discussion.
The problem with looking at the metallness map as a percentage rather than a binary is that in the lighting model it is driving is performing a switch between two different BRDFs (dielectric and non dielectric). You can only use the metalness map to describe a proportion of these BRDFs if you are calculating the lighting for each BRDF and then blending the result otherwise you are not getting an accurate mixed result.
A more technical discussion about the engine part is really interesting. The behavior you're describing (calculating the lighting for the two BRDF's separately and blending them together) has to already often be happening though right? Mipmaps alone should make that a reality.
@@Outgang I think more often than not it is avoided for the sake of optimization. The mip mapping issue is also specific to the metalness workflow. If the renderer is using a spec gloss BRDF you can accurately describe the mixture of dieletrics and non dielectrics and not encounter mipping errors (admittedly at the cost of more texture memory)
@@tobyrutter Yeah that's legit. I've encountered plenty of engine shaders too that were either only metal or only dielectric for optimization purposes. On modern-day consoles it feels to me like we should be able to afford shaders that deal with these gray metalness values in a more interesting way. I like to think of it as an ideal to strive for. Artists and programmers have to push on each other a little bit to find the best middle ground.
While I agree with the optimisation part, theres also the issue of the soft edge artifacts that you get when you have a blurred transition on a pure black to pure white metalness parts on texture that are not crisp enough, and I believe that it was also this kind of technical issues that drove the discussion of yore towards the mythical "thou shalt not graycale in the metallness map" that some pleople seem to swear by. I'd say that you can still get interesting results if you do it in a smart enough way. In the end, if it looks good but you had to break every rule in the PBR Bible, I'd still call it a win.
You can do your mipmap manually when you're losing the detail of your metallic... if you do lace opacity with not manually doing your mipmap you'll end up with something opaque.
always such a great detailed explanation
Thank you! I've been fighting this battle for a long time! When people think of the map being binary and fight it like hell to say that's the way it is "to preserve PBR" I assume they also didn't read the PBR guide to begin with or just skimmed through it. because it clearly states that GREY IS OK if you are dealing with small dirt, grime, and impurities in your metal. it even says that there is no good way to measure it, but that if you lower the metallic you should lower the albedo as well. White is PURE metal, in fact. 0.93 is pure metal as well, but we barely ever see pure metal in our everyday lives as dirt and impurities are a part of life that we tend to simulate as well.
very nice explanation Laura . I've always find adding a subtle meltiness to Silk and Nylon fabrics helps a lot . Metal is either 0 or 1 shouldn't be hard and fast !
thanks for this video. i had a lot of argues to "professionals" on university
Thank you for the video!
Laura one word only you are a Kohinoor of knowledge shining all the way and enlightening me
I have to say that this is one of the most beautiful human beings I've ever seen
great video explanation! other stuff that are "metallic" for characters that i've encountered are silk, embroidery, oil slick/iridiscent jackets.. before if i wanted stuff to be metallic vs. non metallic, my brain just says does it conduct electricity or not? now i'm finding to use 0.8 metalness to get darker albedo colors especially for gun metals and still be PBR validated in substance painter..
Yes, even in case of mirror or a gem with cuts non metal don't work.
Great stuff, very informative!
I was misled. And I knew something was fishy. This makes so much more sense.
My eyes have opened o__o
I can agree with the idea of using grayscale values in the metallic map for artistic purposes, however, it is important to mention that essentially metallic map is simply being used as a mask in a linear blend between two different types of surface shaders (metallic and dielectric) that are running under the hood at the same time. It means that if we are using only binary values then we correctly choose between one or the other but grayscale values are by no means represents a correct physical way of that transitioning. The roughness map is fundamentally different from this case so those two maps cannot be directly compared. As was already mentioned, it is important to understand what's going on to be able to break the rules successfully. You just need to be aware, that breaking PBR workflow could potentially lead to certain rendering problems down the line, especially in tricky lighting conditions.
I appreciate your comment, but your mentality here is why, even today in 2021, the quickest dead giveaway that lets a viewer know they're looking at a render instead of a photo is the metals in the scene. Period. Its immediately obvious as soon as metals come into play in the majority of renders. The reason why is just like a glossy surface in the real world is almost never perfect, so a perfectly glossy surface in a render always looks fake, so to are metals rarely "purely metal" on the surface. With the exception of a handful of metals, nearly every metal begins oxidizing as soon as its exposed to air. So since a real-world metal surface has a transition between a fully metal surface and a somewhat less metallic surface in almost every physical case, my question to you is, how can you claim a grayscale transition would be less correct than a black and white hard on-off representation? While the pure grayscale transition might not be physically accurate in itself, you can certainly tweak a map with greys in it in order to make the result much more realistic and much more believable than trying to use the black and white on-off approach, which is much further from physically correct, and is also much less believable in a render. So, I guess my next question is, how exactly did you come up with the idea that since a greyscale map is being used to linearly blend a metalic with a dielectric map, that its physically inaccurate? What data do you even have on metalicity on a metal surface to base that idea on? The oxidation scale in the real world might exactly correlate with the greyscale mix in a metalicity map. My point is, so few people have used the greyscale technique in their metals in renders, that most people in the 3d industry simply do not know if the greyscale map represents a correct or incorrect mix of the two. You're assuming alot here, basing it on literally zero 3d environment data, because nearly nobody uses greyscale maps. That's why nearly everybody's metals still look fake. So the overarching piont here is this: Even if a greyscale map is not exactly correct transition wise, in itself, it would still be magnitudes more accurate than a black and white mapping approach, in almost every single case you use it in. Even in a render of a brand-new shiny penny, I'm sure it would benefit from slight variances in the grey value of the black and white map, and result in an organic looking penny instead of just another incorrect looking 3d render. But let's play devil's advocate. Let's say you're 100% right and a greyscale map isn't an accurate transition because its linear and say, maybe the real world transition is logo or expo or something else like an S curve. Don't you think that with just a few months of experimentation within the 3d industry that a few thousand people would come up with ways to either manipulate the grayscale map itself, OR, create an algorithm that processes grayscale in a more physically correct way, so that we could, in just a couple of months, finally solve the problem that's been plaguing the 3d modeling community for as long as reflectivity and specularity did? In the early days, we handled specularity and reflectivity with stuff like falloff maps, which were absolutely NOT accurate. But they still looked better than what we were using before. the bottom line is, even if a greyscale isn't mathmatically "exactly right" its a hell of alot closer and more realistic out of the box of a real world representation of virtually every metal on the globe, save those that have been coated or treated with an anti-oxidant protectant, and even then, its still often not perfect, and as a person who's worked with metal, I can personally attest that even a perfectly rust or tarnish free metal surface can have varying degrees of metalicity just from the type of manufacturing process used to make it, such as welding or if it was punched out of a press. So i don't get where using a graymap on metal would "break pbr workflow" as pbr workflow has had a slider and an adjustable value on metalicity since it was rolled out, on every pbr render environment I've ever seen. Its there for a reason, and people simply up to this point have not used it because its just easier to call it one or the other and do black and white. And Laura makes a fantastic point which moots yours in the process. Regardless of how you map it, by the time it gets to the gpu, its likely to exist as a greyscale anyway at some point, so whether or not its an accurate curve in relation to real-world metalicity, the gpu does it regardless of what you may think about the subject, and its not bothered you at all up until this point. And if your lighting affects your metals in a negative way because there's a greyscale map on your metalicity, then the grayscale map isn't your lighting issue, your lighting IS the issue, and is probably showing signs of being poor in other areas. Lastly, I'd like you to sit and think for a moment about how we even GOT to PBR materials in the first place? People who weren't afraid to break workflow and decided it wasn't good enough and wanted to try to improve.
@@bryanharrison3889
Wow, I had to spend quite some time to even read this! It seems like I hurt your feelings, however, I had no intentions to do so. I'm sorry if I did. Now to the points:
1. I don't claim anything. I just passing the info that is easily searchable online and wasn't invented by me. I said that I agree with the Idea of using grayscale values for artistic purposes. Don't know why you making opposite assumptions.
2. Again, I based my point on public data. Just to clarify - conductors and dielectrics have drastically different specular reflectance values, and in the real world, this transition will be different from the shader approximation. You can read about it more online if you want.
3. I can repeat myself, I don't mind using grayscale values, however, asset renders are not that important compared to let say game development. If it's only one shot you are after, then, by all means, use whatever works for you. However, it's hard to maintain consistent quality if your assets only work in certain lighting scenarios. That's why PBR was invented. To help us make consistent materials that would work nicely in every environment.
4. I believe that solution to the problem was a fast approximation instead of a complex formula, because of its runtime nature. You don't really want to make real-time things complex just for the sake of it with diminishing returns.
5. If values are not compliant with PBR workflow, I say workflow "breaks". I don't mean it is a bad thing in itself. It might screw something up eventually, but of course, I'm talking from the game development point of view.
6. About the BnW map turning into gray mipmap. It was a somewhat strong case in the video, which doesn't necessarily represent the real scenario. I didn't see the point to comment on that but since it's not obvious to you I might. The thing is, you don't usually have a 50/50 metallic map. Of course, this would result in an average gray. But what about the practical case? If you have a box with damaged edges which reveal the metal, do you still think you'll converge to a mid-gray metallic map down the line?
7. Nobody broke any workflows with PBR. Technology evolved and people just moved on. They made it easier to work on the project collaboratively with minimal guesswork because if your material was made in compliance with PBR then any typical lighting scenario should be fine.
@@dzmitryyafimau7647 @Outgang Isn't the paradox asset in the video good evidence that greyscale values are properly accounted for in modern game engines? I have a hard time believing that could get through quality control at epic games if it was so blatantly unrealistic since it does seem that they were striving for a realistic art style.
All computer rendering including PBR is an approximation of reality of some kind since we do not obviously have the computer power to simulate light and matter accurately in real time at the atomic level currently. All we should be really concerned with is how we take a photo and a computer render of the same thing and compare the pixels of the photo to the pixels of the render and how similar the color values are.
You seem to believe that you have some deep understanding of the inner workings of game engines on this topic, is it possible that your understanding is out of date? Maybe you do have some deep understanding and can provide some evidence of your credentials.
@@geraldbelman759, I'm encouraging everybody to carefully read and understand what other people trying to say before making their own point. It's somewhat obvious that any type of rendering solution is an approximation to some extend. Realtime rendering is by definition should be considered the roughest one. I never ever said that grayscale values in the metallic map are unrealistic. I only mentioned that transition that they are providing is not physically correct. The first thing I did is that I agreed upon the thesis of using grayscale metallic values for artistic purposes. If we all here considering artistic purpose as part of an answer to a question "is this render looks good and comparable to a real photo?" then I don't see a problem. Especially with Paragon assets. They don't try to claim that their rendering solutions are 100% physically correct. In fact, if you were to watch any of the epic games streams regarding the unreal engine tech then you'd know that one particular phrase coming up quite often and it sounds like "in real-time graphics, it's all about smoke and mirrors".
Anyway, I only wanted to raise awareness about going down that road because you really have to understand what you are doing. And maybe it wasn't clear at first but I meant the game dev context. Since you are interested in my credentials I work as a material artist on a game powered by an unreal engine. So believe me I encountered many problems with assets that were too shiny for the places they were in just because they had poorly authored PBR maps and yet some of the surfaces are indeed using slightly grayish metallic color to get a specific look. Even in UE docs, you can find notes that are explicitly telling you to resist making surface metallic just because it looks better. The key takeaway is that if you know what you are doing you are good to go.
@@dzmitryyafimau7647 I appreciate your response. I guess what I am trying to do is understand what you (and a lot of other people) are saying that doesn't seem to make much sense. You are obviously not alone in your opinion on this topic. Yours is the more common opinion. But it doesn't make any sense. Everything I've seen about metallic values mentions that it is uncommon to have greyscale values but not prohibited. And then people like you say greyscale values are fine for artistic purposes but not physically correct. What the heck does that mean? What is physical correctness? Is it something we can measure. Is it something that someone who helped design the PBR workflow decided was important. is it the same as realism? What is it?
And then you have this issue of what kind of surfaces are common or uncommon in the real world. Bare, untarnished and unrusted metal is exceedingly rare in my world. I guess silverware, bathroom fixtures, jewelry are the only things and they don't take up much surface area in my world. Most metal surfaces are painted or varnished or rusted or oxidized somehow. So maybe this is just a misunderstanding about what kinds of surfaces are most common in the real world. Metallic paint is quite common in my world such as on cars and other equipment.
And then you have the issue of lighting artifacts or problems caused by greyscale values. I've been searching for these for a while and haven't found them. Maybe you can provide some examples. Because everything I've seen in high quality assets (such as those paragon assets) uses greyscale values with significant frequency.
Enlightening. And it does make sense, materials that have particles that give some metal effect without presenting visually very much. I wonder if using the surface texture as a metallicity input, like one does with roughness, would be a good way of driving these grays?
Thanks so much for sharing.
thanks for sharing your knowledge
Yes. Fundamentally it should only be only black or white or yes or no. BUT, once you're trying to make a realistic look, you can then figure out what imperfection layers that are stacking on top of it. is it a metal coin with dust, rust, scratches and wear, glass crumble, moss, coral? then all those imperfections are dialectic. subtract them all from the metallic mask which is white and you get shades from white to black depends on how smooth those stuffs are scattered around on each layers on their resolution. is it a wood with burn mark, dust, scratches, mud/paint and metal shrapnel with sharp edges and rough edges here and there, ? same thing. after understanding that, then it is no longer a boolean or binary whatever you wanna call it. Actually that's how professional texture map creator creates high quality textures. Also remember there is also roughness.
TLDR: Metalness should always be black and white, until you want to introduce imperfections in what resolution. When things are just considered too small, then count it as noise that lands on shades of grey. Things ain't perfect if there is no imperfection.
some types of fabric also have some metallic qualities to them and are very difficult if not impossible to shade without non-binary metalness values.
Very nice Tutorial!
What about dusty or dirty metal? Should be totally white or the dust/dirt layers should affect and make it grey?
The dirt and dust layers would indeed give you a gray metalness color! I forgot to mention it in the video :P
Thanks for the great video! Hi I'd like to ask about your sound setup. Are you using the inbuilt mic from your sony headphones?
No the Sony headphones microphone is really bad. I'm using this microphone: www.audio-technica.com/en-ca/at2020
@@Outgang Eyyyy we got the same mic! :) Love the content BTW
yo i had a suspicion that it shouldnt be binary when i was making a gold shader. can u explain spec maps for skin next pls
I support nonbinary metalness maps 🏳🌈
You could watch metal cyborg in 🤖Terminator movie for answers and crafting on Unreal Engine 4 👨🎨
From time to time I have wondered when having a non-binary metallic value makes sense, and the only thing I really thought about was areas of metal where paint was partly chipping off and partly rusted metal. I really like the examples you gave, ore being something that makes perfect sense since a lot of times ore is a hybrid between metallic and non-metallic minerals. And, yeah, non-binary metal values make a lot of sense, since there's really no such thing as binary in nature.
Love it.
What the difference between Texel and Pixel ?
A texel is a texture pixel (as opposed to a pixel of, let's say, your monitor).
@@Outgang didn't know that, thanks for the info
As @Outgang said, a texel (texture element) is a pixel (picture element) of the image that you are using in your material on your model. And the difference is there because if you zoom really close to the surface, one texel on the model can fill an area of multiple pixels on your screen. You often see that on lowres texture in games when you drop the setting of texture quality to low.
Metallic is about the surface not the matter of the object. The pipe with the rust is not metallic at all.