Hello all.
Up till now I've primarily been a programmer, but now I'm trying to take a leap into the world of 3D modeling.
I've been looking a this PBR stuff and it's quite cool. I went ahead and threw together a barrel using Blender, Photoshop CC, and Legacy dDo and I kind of like it.
But.
The metal looks off to me. My issue is that I have no idea what the best way is to grunge up metal in a PBR setup. Right now I've added scratches to the gloss/roughness map but it still doesn't look quite right.
Any pointers?
Here's what my barrel looks like now in Unity (with Lux).
Replies
then get a similar base texture. use this as a base roughness texture and mask rust in specular/reflectivity. basically you have to treat rust and metal as two different type of materials...
For one thing the normals blow goats at the moment. I basically threw something together with photoshop and NVidia tools.
What I should do is make a highpoly version and bake the normals onto the low poly (plus better/more detailed ambient occlusion). THEN I'll probably rework the textures in dDo and post them when I've finished.
I think what you think at when you say you are missing something, is wear & tear / scratches. The rest is done with just more detailed base metal diff/Spec/gloss
Try making the convex edges worn off by making them rougher + lighter diffuse (?) with some grungy brushes / erasers.
the rust is also lacking depth and variation
Should the metal really have any color in the diffuse, though? I thought that kind of went against PBR.
This depends on what shader model you're using. If you're using the 'metalness' shader model then the diffuse colour of a metal becomes the specular colour - non metals just don't have specular colour.
for the other shader model there's this handy lookup table from marmoset:
notice that unless the material is extremely shiny it still has a bit of albedo.
So, anywhere that's less shiny should be lighter in the diffuse map then, and darker in the roughness map?
The lux shader is based off the work of Dontnod entertainment. Here is a post from the tech artist who helped create that shader model of the specular chart that explains what settings to use for different materials:
http://seblagarde.wordpress.com/2012/04/30/dontnod-specular-and-glossiness-chart/
So I assume my beat-up metal's roughness would occupy the lower part of that chart (somewhere a bit above rusty pennies)?
Black as metal base is the purest of the pure that should not occur often in real life. Even if the metal has theoretical a nearly black diffuse, there are so many layers of chemical processes on it in real life that I dont think that its ever truly right (if you are not going for a stilized look)
Im not 100% sure, but thats what I see from observation on rl objects. The worn edges usually are a lot lighter
Maybe its just the specular contribution that increases and not the diffuse, but the high roughness makes it appear a lot lighter aswell, as the highlight is very broad. Last time I tested some materials, higher spec seemed to look a lot worse for the worn edges effect over lighter diffuse (+ rougher ofc) but thats not a good sample size to make assumptions upon however.
but I dont know how metals react on a microfiber base when worn, I guess that depends again on which metal, and is it coated or not, and with what is it coated, an alloy ? etc.
I am not sure I would take this advise. Every single resource I see for a reflectance based PBR workflow says to make you metal black in the diffuse. This is with good reason metal doesn't have diffuse reflection it is only specular. Now there are things that sit on top of metal that certainly won't be black. Things like tarnish, rust, oxidation, and dirt, but those things aren't metal so of course they won't react like metal. Unless all of your metal is coated in tarnish or dirt use black for your diffuse.
Tarnish/dirt is exactly what I'm going for
This is supposed to be a somewhat old barrel - those metal rings shouldn't exactly be pristine.
Here is some ref for tarnished metal:
And here is cast iron ref:
The diffuse albedo for metal when using a PBR workflow is black. Always black, but the crap that builds up on it may not be. That said, certain types of tarnish (metal dependent) are still basically just metal that's been tinted - The tarnish or patina is generally too thin a layer to cause a noticeable shift in the diffuse colour, but if you did want one you'd make it very very dark, but the Specular Base Reflectivity would drop, and become tinted slightly differently (the tint color and severity being based on what caused the tarnish in the first place, and the type of metal that is being tarnished - silver shows it quite severely)
As for dirt or other forms of oxidization or corrosion, such as rust, that's going to replace your material. In the case of dirt it's going to have to be a fair amount to really block the metallic level of the SBR, but it might add some slight color or lightness to the diffuse (unless the dirt itself is black), and it will almost certainly affect the roughness.
Rust on the other hand replaces the metal rather than coating it, and will result in colour coming through strongly in the Diffuse Albedo, and a rapid (often hard edged) change in the Specular Base Reflectivity. Roughness will also be much higher than the default metal.
Scratches will effect the roughness, but unless they're big gouges you're not going to get a clear scratch on a relatively small texture (and it would need to be big and deep to bother adding to the normal), just as you can't see a clear scratch in the photo posted by stevston89, except right on the leading edge. Scratches tend to cause a reduction in the roughness when you can see them individually, but an increase when taken as micro detail.
Generally I just stick to making edge wear a little smoother to catch better highlights (the equivalent of the old technique of painting scratches along there white), and then throw in a couple of major scratches while leaving the rest of it as a slight randomness in the roughness map (grab some random grime texture or contrasty photograph and overlay or multiply it over the roughness at ~5% opacity, you'll still see the difference).
My advice would be to get the metal correct first though, and then add the layers of gunk and such on top. If the metal doesn't look right clean you'll never get it right dirty. What is the metal? Is it Iron? Is it Steel? If it's steel then it will usually be considerably darker than Iron for these sorts of purposes; Steel, being an alloy, can be mixed many different ways depending on it's application, and as a result has no set Specular Base Reflectivity value. Steel is a mix of iron and carbon though, so the SBR is unlikely to go up (Stainless steel has chromium added, which increases it's relative brightness). Steel is also very slightly blue tinted, as is Cast Iron (if memory serves).
Hope that helps!
Actually, what I will probably do tomorrow is experiment with just creating PBR materials. Probably slap it on a cube in Unity with Lux rather than worry about a whole model.
After I can create good-looking materials, I can then work on combining those together into a full texture.
Thanks for some of the tips. Should be very helpful.
Anyway, I should add a caveat about the diffuse for metals always being black - that's not the case if they're mixed with something that isn't black, obviously. Alloys like that aren't terribly common, but metallic paint and metallic plastics are, and they carry the Diffuse Albedo colour of the non-metalic base. This makes no odds to what you're working on currently Phobic, but it's worth bearing in mind if it ever comes up.
I just want to clarify something here because there could be confusion.
In Unreal 4, your BaseColor/Diffuse/Albedo shouldn't always be black for metals. UE4 uses the BaseColor/Diffuse/Albedo as the spec color when something is metallic. So technically, the diffuse contribution gets set to black, but the color is transferred to the spec color, so it is still needed.
In my case, I do have separate diffuse/spec color textures (not using metalness workflow), therefore my metal albedo IS black.
Yea, the workflows are slightly different depending on the engine/implementation. Just enough to cause confusion.
It's incredibly rough around the edges - it doesn't preserve the original image (keep a backup), doesn't save things automatically, etc. Basically it assumes your active document is made of three layer groups - Albedo, Specular, and Roughness. It merges those groups, copies them, and pastes them into a new document (except for Roughness, which it pastes into a new Alpha channel).
From there you can export TIF files or whatever.
I'm new to the Photoshop API, so once again half an hour of work to save a few minutes of effort...
http://imgur.com/a/k7C9W
Tried basically slapping down rough colors for Albedo, Roughness, and Spec based on the DONTNOD chart, then overlaying a metal texture on all three (for albedo, it was almost nonexistant - 3% opacity)
http://imgur.com/a/u0R4a
At this point I've added some slight dirt(?), and a bit of patina-like stuff. Nearly all of the detail is in the specular and gloss, tiny bit of brown for the dirt in the diffuse.
(also, Iron Band of course gave lots of images of Iron Maiden, but there were some real Iron Bands in there too).