In the past, a common way to add details and/or to effectively lower the reflectance of objects, was to directly adjust the Reflection (controlled by either the reflection color or a reflection map) of our materials. Additionally, we've used pure metal colour in the reflection for replicating metals. As the previous topic on IOR has suggested, these techniques are not physically accurate. To better understand why, we need to understand how the Reflection parameter works.
The Reflection acts like a filter on top of our IOR. When it's set 100% or pure white we get 100% of our IOR and when it's 0% or pure black we get 0% of our IOR. We can say that the Reflection works like opacity in Photoshop. To illustrate this we can imagine our IOR inside a folder in Photoshop.
When Reflection is white or 100%, the folder inside Photoshop is also 100% Opacity. We get 100% correct IOR values.
When Reflection is black or 0%, the folder inside Photoshop is also 0%. We only see the black layer. 0% IOR values.
If we change Reflection to mid-grey or 50%, the folder inside Photoshop is 50%. We get 50% IOR and 50% black.
So what exactly is 50% IOR? We can do a little exercise using the common Non-Metal IOR of 1.5:
First we need to convert 1.5 IOR to Reflectance. We already used the same example in the previous topic: (((1-1.5)/(1+1.5))^2)*100 = 4% Reflectance
Then we need to take our Reflectance value of 4% and multiply it by 0.5 (50%) = 2%
Now we convert it back to IOR: (1+SQRT(0.02))/(1-SQRT(0.02)) = 1.33
So if we use IOR 1.5 and 50% Reflection, our IOR will be 1.33 instead of 1.5. This, however, is not the real problem. As we already saw Reflection is working as a filter on top of the IOR. This means that we won't only get 1.33 IOR at the F0 point (0 degree viewing angle) but will also get 50% reflection at grazing angles. We've already discussed that all materials are nearly 100% reflective at grazing angles so this is where our material will stop being physically plausible.
Since we have done the math, we can just change the IOR to 1.33 and increase Reflection to 100% (pure white colour). We will get the same result as IOR 1.5 and 50% Reflection but the material will be physically plausible. All of the above leads to the conclusion that the Reflection should always be set to 100%. For Non-Metals we use pure white in the Reflection slot, while for metals we use either Siger Complex Fresnel or a Custom Falloff Map and we disable Fresnel Reflections as these maps do their own Fresnel calculations (and effectively dictate the IOR).
Many models coming from 3rd party providers like online model libraries often have materials that are not physically plausible - for example 1.8 IOR and 50% Reflection. If we do the same math as above we can quickly figure out that we can actually use an IOR value of 1.51 and get the same general look of the material while keeping it physically plausible.
Other times models will come with Reflection Maps. In such cases, you might want to convert the Reflection Maps to IOR Maps.
Finally, you might want to use a custom texture for Metal coloration (in conjunction with a Custom Falloff map as discussed) it needs to be loaded with Gamma 2.2 (VRayHDRI: sRGB).
There are a couple less known parameters specific to V-Ray when we work with reflection - Reflection Max depth and Reflect on Back side:
Reflection Max Depth control how many times the reflection is traced before it is converted into black (or prior to V-Ray Next - to whatever colour is specified in the Exit Colour). This helps to speed up the renders by reducing the amount of calculations V-Ray has to do for reflections. The default value of 5 usually works quite well. In scenarios with lot's of very reflective and glossy objects this number might need to go up. When dealing with refractive objects (glass, plastic), the value will need to go up to 10 most of the times. Rougher surfaces, on the other hand, can go away with lower values if render times need to be reduced, but the default value of 5 is quite light for rendering. Here's an example from the Chaos Group help:
Reflect on back side option simply enables reflection on back-facing normals. This is turned off by default but it must be turned on for transparent/refractive objects for realistic results.
A BRDF is basically a mathematical model that is used to calculate the reflections and specularity for a material. In V-Ray there are currently four types available to choose from – GGX, Blinn, Phong and Ward. GGX, whish is set by default, is the most advanced model and represents real-world materials better than the others. In other words, there shouldn't be any reason to change GGX for anything else.
The thing that really makes GGX "shine" more than older models like Blinn and Phong is that its highlight is much more representative to real-world materials.
The standard Blinn or Phong highlight doesn't have the long soft falloff like in the image above. Of course, there's a number of things that could be potentially causing this sort of effect beyond the surface itself. Maybe this look comes from bloom in the camera, or maybe something about the color process that happens to the final photo.
Here's, however, an example from Disneys paper on the subject: Physically Based Shading At Disney:
The first highlight is a reflection on real chrome captured in controlled environment, the second is a GGX shader, and the third is a Beckmann shader (closer to Blinn). Notice how the GGX shader looks close to how the real chrome from the picture above reacts, with a sharp central highlight and then a softer falloff.
The soft falloff of the highlight is called a Tail and in V-Ray it is controlled by the GTR tail falloff (exposed as a parameter in the BRDF section of the material). The default value is 2 which will work quite well for most scenarios. The higher the value, the smaller the falloff will be. Lower values produce more spread highlights. We can even simulate other BRDF models like Blinn if we want while only adjusting the Tail falloff.
There are no certain rules on how to adjust it but as an advice - always look for references of the materials you're trying to re-create and then try to mimic the appearance of their highlight.
The falloff can also be used to simulate dusty/soft materials. For example, a value of 1 works quite well for cloth materials as it gives a softer appearance of the surface.
You can look at Thin-Film Interference as a very thin layer of coating on top of a material. You might think that this phenomenon isn't visible anywhere else apart from soap bubbles, fuel puddles and perhaps its only practical implementation in CGI is simulating the coloration of shiny ornaments. However, this coating plays a key role in photorealism for simulating everyday materials such as leather and plastics. Most of the time the presence of a thin-film is very subtle, but it is essential for achieving a highly realistic look. Here are a few examples of the effect on real world objects. Images on the left have been desaturated.
It is quite pointless to use the effect in scenarios without any close-ups (Arch-Viz) but it can really push the realism of Interior and especially Product shots. To achieve this effect in V-Ray, we use Sigers ThinFilm plugin. There are multiple ways of setting it up. The ThinFilm map, just like Complex Fresnel, needs to be put into the Reflection slot and does it's own Fresnel calculations (meaning Fresnel reflections must be disabled). However, you will rarely want to use it to fully control your reflections as you can clearly see how subtle the effect in the examples above is. Most of the times you would want to blend it. Here is one way to do it:
In this particular case a VRayBlendMtl is used to blend the coating and the base plastic material. This is the easiest setup and produces the best results, however can negatively affect render times if more complex materials are used. Nevertheless, this is the recommended method as other methods like blending the ThinFilm in a Composite map and connecting it to the Reflection slot can make the material creation much more complicated. Here are some details on the setup:
Both the Thin Film Coat and the base plastic material share the same Diffuse color so there is not shift in luminosity when blending.
ThinFilm map is added to the Reflection slot and Fresnel reflections are disabled
A simple Noise map is used to introduce some variation into the thickness of the film. Black. and white represent the Min and Max Thickness values.
The ThinFilm map is set to have Min 230, Max 240 Film Thickness, Film IOR 1.45 (matching the IOR of the base material) and is also desaturated by 50%. Max Thickness only works if there is a Thickness Map plugged in. As you can see the thickness values have a very marginal difference. Greater differences tend to produce too diverse results for most cases. The aim here is to have an average of 235 nm thickness as this value gives close results to the ones in the real world examples above. Note that IOR of the Film will also change its color. To get the same color of the film with 1.5 IOR (instead of 1.45) for example, the average thickness will be 220 nm. You will figure this out when you play with the settings a bit.
The Glossiness map of the base plastic material is used also in the Thin Film Coat material, which helps retain the details. If the base material had bump, the same would be applied to the coat material following the same logic.
The blend amount in the VRayBlendMtl is set to around 10%. Even now the effect can be too much for some tastes (check comparison a few images below). I wouldn't recommend going over 20%.
These settings are a good start for a common Non-Metal like plastic or leather. Blend with 10% or less.
Below you can compare two renders of the plastic material just discussed - the left is without and the right is with the coating.
As you can see the difference is very obvious when you compare them side by side. However, when this is put in a scene you won't notice that it looks a bit blueish. In fact, it does resemble quite a lot the plastic on the chair from the real world example. Use this technique sparingly and when it can really make a difference because it will influence your render times.
This is an example taken from Sigers website of how the Min Thickness value affects the color of the Thin Film. All based on the default 1.5 IOR.
Reflection should always be set to 100%. Reflection level is controlled by the IOR instead.
For Non-Metals Reflection should be set to pure white. No textures in the reflection slot.
For Metals we use either Siger Complex Fresnel or Custom Falloff map in the Reflection slot. Fresnel Reflections need to be disabled.
Make sure to use GGX as your BRDF.
Turn on Reflect on back side for transparent/refractive materials.
Use Thin-Film coating to push the realism in some materials like plastic and leather.
Linear Workflow: for Reflection maps we use Gamma 2.2 (VRayHDRI: sRGB).