Corona Physical Material
In addition to the below content, see also: Corona Physical Material at Chaos Docs
What is it?
Introduced in Corona Renderer 7 for 3ds Max and Cinema 4D is the new Physical Material. This material has been designed from the ground up and is intended to replace the previously default Corona Material, which in version 7 is called Corona Legacy Material. Some of the benefits of the Physical Material are its ease of use and its ability to achieve realistic results ensuring you can't accidentally create unrealistic "fake" materials that break energy conservation and other laws of physics regardless of the settings you use. The result will always be (and look) realistic.
The Physical Material also includes presets that you can easily select from a dropdown menu. These include materials such as Aluminium, Brass, Chrome, Copper, Diamond, Glass, Gold, Iron, Mirror, Plastic, Plexiglass, Satin, and even Velvet.
Why was it added?
The Corona Physical Material was added as the replacement of the old Corona Material. Some of the benefits of the Physical Material include:
- The ability to get more realistic and physically plausible results easier
- Better and easier layering system without the need to set up complex Layered Material networks (clearcoat, sheen)
- Compatibility with other software following the physically-based (PBR) guidelines
How is it better than the old Corona Material (now called Legacy Material)?
There are many benefits over the old CoronaMaterial. For starters, Corona Physical Material offers a natural way to set up realistic materials, making various workflows much more intuitive and simpler in the long run. Its diffuse calculations have been switched from Lambertian to the Oren-Nayar model, so even the simplest of materials will now look better and be rendered more physically correct.
In addition, fake and non-physically plausible material properties are not possible anymore, the current material parameters are designed in a way to prevent such cases.
When to use Corona Physical Material?
The Physical Material should primarily be used as the new default for any newly created materials, unless it is absolutely necessary to use the Corona Legacy Material (e.g. in case of re-rendering older scenes in Corona Renderer 7 or newer).
CoronaPhysical Material Basics
Metalness: Metal & Non-Metal(Dielectric) and how are they controlled by base color.
Starting with the basic parameters CoronaPhysical Material is set as a Non-Metal by default, essentially a dielectric material where Its base color can define its reflectivity and diffusion. In this mode, various types of Dielectric materials can be made in a physically plausible manner. Non-metal materials (dielectrics) can also be transparent and consist of various glass, crystals, polymers, or other organic materials.
(Wooden body and glass pearls are considered as dielectric, non-metal materials, while the instrument's strings and black metallic tuning keys are set as Metal.)
In the case of a metallic base layer, Metals are opaque and defined only by their reflection color, which is set by the base color parameter. However, the reflection color for metals (exclusively) at grazing angles can be edited through the use of Edge Color.
(IOR controls are only enabled when using non-metal, dielectric materials)
Examples: The following example showcases the differences metalness can make on any given material, simply by changing metalness mode to metal or non-metal(dielectric). On the left is a metallic body with a glossy coat against a glossy plastic material (Non_Metal).
(Full-size comparison link: https://corona-renderer.com/comparer/wm6OnQ)
You can easily match the "look" of metals based on real-life references by adjusting their Base and Edge Color, which serves as an artistic interpretation of the end result, this is ideal for the majority of cases. However, in case a more realistic result is preferred, the use of Complex IOR is suggested as we will see further down in the article. In the following, the default edge colors were procured through the use of Complex IOR (left), against a custom pure green using Edge Color (right).
(Full-size comparison link: https://corona-renderer.com/comparer/phHbaC)
Note: You can also map the metalness of a Physical Material using a texture to define the base layer material type. In such a case, the values of 0 (black color in the texture) correspond to non-metal areas, while the values of 1 (white color in the texture) correspond to metal areas. In-between values can create a mixture of metal and non-metal areas. While a single material cannot be both metal and non-metal at the same time, this is allowed in some cases - for example, if there is a transparent layer of non-metal on top of a metal (e.g. a spray-painted metal) or if the two kinds of surfaces meet and the transition between them is not sharp (which will always happen because of anti-aliasing and texture filtering).
Base Tail (Layer BSDF)
With the release of Corona version 8 it is possible to increase the tail of the base layer's bidirectional scattering distribution (GGX-BSDF), or in simple terms, control stronger reflections outside of reflection (peaks) highlights. To translate that from “light transport speak”, it means reflections will take on a softer and more distributed look with higher Tail values. While similar to raising the Roughness, the result is very different, with a softer look that gives more “depth” to the surface.
(Mapped base tail effect on metallic surface, Full-size comparison link: https://corona-renderer.com/comparer/e2Svho)
This parameter can be found in the Advanced Options of CoronaPhysical Mtl, default values of 0 correspond to the standard scattering distribution, while increasing this value (0.0-1.0) will lead to a longer tail. For more in depth explanation with examples please visit this page.
Note: The term tail, can be defined as the soft falloff that gradually "tails-off" from a sharp-highlight center of a light source as it is being reflected on a surface.
IOR (Non-Metal only) for Reflection & Refraction.
The IOR value is solely available for non-metal materials, it controls the amount at which a light ray is being bent when entering an object (medium) and how much of it is being reflected. A value of 1.0 will result in no refraction or reflection (f.e. the index of refraction of air is normally around 1.0003), while for example, a value of 1.52 IOR can be suitable for generic glass materials.
(Champagne glass, generic IOR 1.52)
Contrary to the old CoronaMtl, now labeled as CoronaLegacy Mtl, Corona Physical's IOR is bound to a physically plausible range of 1.0 and up to 3.0, and its reflection/refraction IOR values are interlinked in a physically plausible manner. In the real world, there are no non-metal (dielectric) materials with an index of refraction (IOR) higher than 3.0.
(IOR can only be controlled through the Base layer and it affects both reflection and refraction.)
Examples: The first example showcases how IOR can affect refractive distortion and reflection strength on applied materials (for the sake of realism the impure glass left image, had its absorption slightly darkened). From left to right there are, generic-glass (impure) 1.52 IOR, flint-glass pure 1.62 IOR, lead-glass (crystal) 1.8 IOR.
(Full-size comparison link, only for generic and flint glass: https://corona-renderer.com/comparer/bWLX7s)
Note: With the new CoronaPhysical Mtl, you can now have anisotropic refraction to go along with anisotropic reflection, something that was previously impossible.
Specular to IOR mapping
IOR mode can also be set to Specular (in order to support Specular/Glossiness workflow), in such a case the value of IOR will be treated as a specular value, which is then internally converted to IOR using an established formula. This parameter can be found in the Advanced options tab within the CoronaPhysical Mtl. It can also be changed into a global parameter within render setup (f10) > system > system settings > material editor: default IOR mode.
In the following image comparison, the material on the left is utilizing a specular map for its base specular which can be set as Disney Specular from the IOR mode parameter. On the right side, you will see the same material with an unmapped IOR and a default value of 1.5, its IOR mode is set as the default IOR.
(Full-size comparison link: https://corona-renderer.com/comparer/H6WJaV)
The Roughness parameter controls the smoothness of the base layer's surface. A value of 0 (color black if using a map) gives a completely smooth surface which leads to sharp reflections from the base layer, while a value of 1 (color white if using a map) gives fully rough surfaces leading to blurred reflections. A smooth surface will show stronger reflections, while a rough one leads to a more flat-like appearance.
(Low roughness against higher value roughness: https://corona-renderer.com/comparer/zjUHXx)
Examples: The following examples showcase how roughness values can affect refractive and opaque materials. As a first example, a metallic pole with a roughness value of 0.1 (left side) against a value of 0.5 (right side).
(Full-size comparison link:https://corona-renderer.com/comparer/dFxcad)
Next up, a frosted lamp-bulb coated with glossy finish against a clear glass one, same IOR values different roughness. The frosted lamp has a roughness of 0.9, while the clear glass one a 0.02:
(Full-size comparison link: https://corona-renderer.com/comparer/fjMoOJ)
Roughness values affect both reflection and refraction equally. Rough refractive materials like etched glass (frosted, sandblasted, etc.) won't return any glossy reflections if their roughness value is high, something that was possible to do with CoronaLegacy Mtl. In a proper manner, a coated rough surface can introduce both underlying rough surface but also glossy coating, through the use of Clearcoat as we will see below.
(Full-size comparison link: https://corona-renderer.com/comparer/szNYfS)
Note: CoronaPhysical Material operates on Roughness mode by default, it can however be altered to Glossiness in the "Advanced options" tab within the material (to support Specular/Glossiness workflow). Additionally, in the render setup (f10) > system > system settings > material editor, it can be changed as a roughness/glossiness global default.
The terms Glossiness and Roughness are interchangeable, they are simply the inverts of each other. In the case of inverting glossiness maps into roughness within 3dsmax, do note to avoid using linear invert function like those from CoronaColor Correct, instead, resort to using the bitmap's output or an output node with invert function.
Below you will find an example rendered with glossiness (left) and roughness maps (inverted) (right), the rendered result remains unchanged between the two modes.
(Full-size comparison link: https://corona-renderer.com/comparer/NH6AhF)
A Clearcoat layer can be defined as a transparent layer of paint/finish that can be used to cover a surface. In real-world applications, the clearcoat is one of several layers of paint that can cover a coat of paint for example. In the case of metallic panels, It usually begins with a base coat which acts as a primer, and eventually, the base-colored coat will be covered by the clear coat. Generally and in the case of CoronaPhysical Mtl, the base color will mostly consist of matte surfaces that are being coated by a clear coat for one of the following reasons:
- Cover a surface with a finish/Varnish.
- To change the reflective index or the type of glossiness of a surface.
- Introduce coloration or enhance the thickness of a base color through clearcoat absorption
- Introduce additional bump details on a surface.
(Rough surface plastic base with highly glossy coating through the use of clearcoat)
Clearcoat can be controlled by the amount parameter on how strong the effect of the layer will be, values 0-1. Its roughness (similar to base color roughness with values 0-1), Index of refraction (1-3), separate bump map, and absorption color that influences all the layers below it.
Examples: As we will see in the following examples, clearcoat can offer great visual variability to applied assets as well as add realism to the rendered material. Separate bump for the base and coat The base layer and clear coat can have different bump maps. Left image on the wooden mannequin, we have a subtle bump wood map, clear coat is still applied but with no bump of its own. Right image clearcoat bump is being introduced in the form of a strong grunge mask that adheres to the weathering of the varnish, both bumps are being applied.
(Full-size comparison: https://corona-renderer.com/comparer/UBqpXV)
Clearcoat absorption can introduce a significant difference in the diffuse base of materials. In the case of an instrument like a violin, the raw unedited wood has a rough surface (Roughness amount ~ 0.7) and a low IOR of 1.35, as well as a consistent bump map following its wooden texture.
(Clearcoat example settings setup)
Through the use of clearcoat we can emulate a varnish/finish look on the material, with an increased clearcoat IOR of 1.4 and significantly lower roughness levels, the material now becomes more glossy. The addition of clearcoat absorption color is introduced as a form of varnish-thickness. In reality, violin coating consists of numerous coats that add up to coat thickness and darkened coloration of the underlying base.
(Full-size comparison link: https://corona-renderer.com/comparer/n5b6pe)
(Full-size comparison link: https://corona-renderer.com/comparer/3nvVoy)
Car paint is also a great example of how clearcoat can help achieve great results(rather than using layeredMtl). Similar to the above, for the base layer a rough colored surface can be used as a primer, coated thereon by a glossy clearcoat. The addition of clearcoat absorption color can help achieve further coloration.
(Full-size comparison link: https://corona-renderer.com/comparer/d2YphT)
(Clearcoat absorption color can be changed to affect the base layer)
Note: In cases where the clearcoat layer has a weathered coating, this can be emulated by mapping its amount parameter. This will help introduce patchy-looking paintwork or a surface look of "skin shedding", scratches and other forms of damage, as seen in the previous examples.
Sheen can be used to approximate the effect of subsurface scattering in microfibers for cloth-like surfaces such as velvet, satin, etc. The Sheen layer strength can be controlled through the amount parameter, while roughness can offer further control of specular highlights and overall sheen reflectance. Sheen Color can be edited for a more preferred visual outcome. All of Sheen parameters can be mapped to offer a further irregularity of the applied effect.
(Example of sheen applied on fabric)
Note: If the Roughness mode in the advanced options tab is set to Glossiness, the value of the parameter is treated as glossiness, which works in a reversed manner as seen for the Base Roughness parameter.
Complex IOR for Metals
Dielectric materials (non-metals) can have their Fresnel effect rendered based on their refractive index alone, for metals, however, their reflectance curve also depends on other complex variables. In order to achieve a precise Fresnel effect for a given metal (e.g. gold, copper, etc.), you can use Complex IOR instead of base and edge color. For a detailed explanation and practical examples please navigate to the following guide: How to use Complex IOR in the CoronaPhysicalMtl?
(Metals created through the use of CoronaPhysical - Complex IOR)
Note: Base and edge colors should be used primarily since they offer more flexible control of the material. Using Complex IOR settings without reference values is not recommended.
Volumetric and Subsurface scattering (SSS)
Volumetric and Subsurface scattering can be found in the Media options rollout within the CoronaPhysical Material. These two parameters are not split between different modes anymore, as it is for CoronaLegacy Material. Volumetric scattering can only be enabled when the material has refractive properties, while Subsurface scattering can always be used regardless of material properties. Do note that volumetric and Subsurface scattering parameters are only enabled for Non-Metal materials.
(Example of volumetric and subsurface scattering)
Examples: A material like marble can benefit from using Volumetric or Subsurface scattering, with the latter being much faster to set up and to render. Below, you will find an example of a statue with Subsurface scattering and without.
(Full-size comparison link: https://corona-renderer.com/comparer/srkpp5 )
Thin Shell (no inside)
The previous Thin (no refraction) function is preserved from CoronaMtl (Legacy) to CoronaPhysical Mtl but renamed to Thin Shell (no inside). The current parameter when enabled simulates a thin shell with no internal volume (hollow). Such material offers no actual refraction, nor any volume or subsurface scattering. Its refraction is replaced by opacity and its subsurface scattering is replaced by diffuse and translucency. This parameter is best enabled when recreating "fast to render" windows/glass or leaf materials that are assigned to a single-faced/plane model.
(Example of a thin-shell leaf, assigned on a plane mesh with opacity)
CoronaPhysical Material comes with 34 presets you can choose from. These don’t include any maps, just preselected settings in the material to give you a great starting point for many common types of materials that you’ll be using in your scenes.
(Preset list along with some preset CoronaPhysical materials)
Most of the metallic presets are split into three categories. A brushed preset, that has a strong roughness value along with surface anisotropy that simulates a "brushed" effect on the material.
A foil preset, in order to represent a flattened mostly smooth metallic surface (very thin sheet or leaf-like material, example of a copper foil, or aluminium foil). Generally followed by low roughness values, overall more glossy surface, and smaller amounts of surface anisotropy. And lastly rough as an in-between of foil and brushed types, with average rough values and low anisotropy.
(Some of the available CoronaPhysical Mtl Presets rendered)
For the dielectric presets (with the exception of the Iron preset) there is not a particular categorization, other than specific material properties per case. Some examples:
- The Diamond preset, high IOR, enabled and correctly set dispersion.
- The Glass Architectural preset differs from the regular Glass preset by having a distinct absorption color added to it.
- The Velvet preset tries to emulate a silk-type surface by utilizing anisotropy and taking into advantage the new implementation of the Sheen layer.
- With the Plastic PVC opaque, having a generic plastic example coated with a plastic clearcoat layer of small thickness (clearcoat amount of 0.5).
Converting CoronaLegacy to CoronaPhysical Mtl
With the release of Corona version 7.0, Corona Converter was also updated to version 2.0, it is now possible to convert entire scenes of CoronaLegacy Materials into CoronaPhysical Mtl by also preserving most of the original look.
Further detailed information can be accessed here: How to use the Corona Converter (Corona 7 and newer)