Physically-Correct Metal Materials

by ddesign in Materials, Shaders, Textures

*15/03/2018 UPDATED*

- Used a different curve for steel material and made slight adjustments to individual material's bumpness and roughness

- Now you can add custom textures for roughness/dirt map

- Updated the HDRi to the 4k version

- Used a different render setup

- Added "copper" single material


Welcome to the physically based shading in Cycles, I hope you will find your new materials to be the secret weapon to stunningly realistic renderings!

As they are created with a different approach than standard and principled shaders, the interface is a bit different... But not more complex, quite the opposite in fact. Each material has its own IOR curve carefully reproducing light attenuation, so no input on your side is needed; depending on the material, you may alter its roughness, bump size and strength, its texture coordinate and/or its base colour.

/You cannot alter scratches shape with a custom texture for now, but I hope to implement this feature in next update. You can however disable them by setting strength to 0 (or, in the case above, using the same roughness colour)/


*UPDATE* - now you can use your textures for custom dirt/roughness map

Just load a texture into the node provided and connect the output to the color/alpha socket, based on whether your file has transparenct or not. Use the value input to enter a mixing value between 0 and 1 (cycles' node system doesn't allow for a proper slider, so it is a common value node, where you can put values higher than 1, but of course they will be ignored)

You can also put a color ramp node between the image texture node and the node group, if you wish to control the sharpness of your decal. Mind that the mixing value is not intended as a switch, but as a slider: as you slowly increase the amount toward "1", you are decreasing the procedural effect as well.


Once you put a material on a model, the textures of scratches or bump will be procedurally generated, based on geometry: there is a complex node setup to create a  box projection evenly spread across faces, plus a handy rotation input (in degrees) to match the desired direction

A big part of the realism of metals lies in reflections, for best results use HDRIs with lot of colour variation and possibly objects to be reflected. Included in the scene there's a free CC0 HDR from Greg Zaal (big thanks to him)

Pro tip: sometimes HDRs have a strong dominant colour, to get more realism try using a "hue/saturation/value" node in the world node-editor and scale down saturation a bit

Be sure to use an adequate number of samples on your render: as these materials "hack" into Cycles' light vectors, more noise is generated and rendering times are slower than usual setups. You can use the physically correct metals on models that are closer to camera or more important in the scene, and simpler setups on farthest objects

Please note that only materials and HDRi are included in the file: the models and the scene are only examples of applications