Corona Physical Material: EXPLAINED
Corona Physical Material
What is it?
Introduced in Corona Renderer 7 for 3ds Max and Cinema 4D is the new Physical Material (Fig. 01). This material has been designed from the ground up and is intended to replace the previously default CoronaMlt, which in version 7 is called CoronaLegacyMtl. Some of the benefits of the CoronaPhysicalMtl 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.
CoronaPhysicalMtl also includes presets that you can easily select from a drop-down menu. These include materials such as Aluminum, 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 CoronaMtl. Some of the benefits of the CoronaPhysicalMtl 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?
There are many benefits over the old CoronaMtl. For starters, CoronaPhysicalMtl 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 CoronaPhysicalMtl should primarily be used as the new default for any newly created materials, unless it is absolutely necessary to use the CoronaLegacyMtl (e.g. in case of re-rendering older scenes in Corona Renderer 7 or newer).
Metalness: Metal & Non-Metal(Dielectric) and how are they controlled by base color
Starting with the basic parameters, CoronaPhysicalMtl is set as a Non-metal by default, essentially a dielectric material where its base color can define its reflectivity and diffusion (Fig. 02). 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.
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 (Fig. 03).
Examples: the following example (Fig. 04) 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).
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 (In Fig. 05), the default Edge colors were procured through the use of Complex IOR (left), against a custom pure green using Edge color (right) (Fig. 06).
Note: you can also map the Metalness of a CoronaPhysicalMtl 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.
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 (Fig. 07).
Contrary to the old CoronaMtl, now labeled as CoronaLegacyMtl, CoronaPhysicalMtl‘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 (Fig. 08).
Examples: the first example (Fig. 09a) 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, and lead-glass (crystal) 1.8 IOR (Fig. 09a – Fig. 09b).
Note: with the new CoronaPhysicalMtl, you can now have anisotropic refraction to go along with anisotropic reflection, something that was previously impossible.
The Roughness parameter controls the smoothness of the base layer’s surface (Fig. 10). A value of 0 (color black if using a map) gives a completely smooth surface which leads to sharp reflections from the Base layer. In an opposite manner, a value of 1 (color white if using a map) gives fully rough surfaces leading to blurred reflections. A smooth surface also influences diffuse reflections, yet a rough one leads to a more flat-like appearance.
Examples: the following examples (Fig. 11, Fig. 12, Fig. 13 and Fig. 14) showcase how Roughness values can affect the rendered outcome of a material, how Roughness can affect refractive materials but also opaque ones. As a first example a metallic pole with a Roughness value of 0.1 (left side) against a value of 0.5 (right side).
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 (Fig. 12).
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 CoronaMtl. 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 (Fig. 13).
Note: Roughness mode can be altered to Glossiness in the Advanced options rollout within the material (per material change), additionally, in the render setup (F10 -> System TAB -> 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 CoronaColorCorrect, instead, resort to using the Bitmap‘s Output or an output node with invert function.
Below (Fig. 15) you will find an example rendered with Glossiness (left) and Roughness maps (inverted) (right), the rendered result remains unchanged between the two modes (Fig. 14).
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 Clearcoat. Generally and in the case of CoronaPhysicalMtl, the Base Color will mostly consist of matte surfaces that are being coated by a Clearcoat 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.
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 (Fig. 17, Fig. 20, Fig. 21, Fig. 22 and Fig. 23), 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 Clearcoat can have different Bump maps. In the left image in Fig. 18 on the wooden mannequin, we have a subtle Bump wood map, Clearcoat is still applied but with no Bump of its own. In the right image in Fig. 18, 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.
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.
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 (Fig. 19).
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 (Fig. 20 – Fig. 21).
Car paint is also a great example of how Clearcoat can help achieve great results (rather than using CoronaLayerMtl). 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 (Fig. 22 – Fig. 23).
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 and satin (Fig. 24). Layer strength can be controlled through the Amount parameter, while Roughness can offer further control of specular highlights or overall sheen reflectance. Sheen Color can be edited to a specific color for a more preferred visual outcome (although in reality Sheen is exclusively white color). All of Sheen ‘s parameters can be mapped to offer a further variation, irregularity on the applied effect.
Note: if the Roughness mode in the Advanced options rollout 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 IOR 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 for metals instead of Base Color and Edge color (Fig. 25). For a detailed explanation and practical examples please navigate to the following guide.
Note: Base Color and Edge color should be used primarily since they offer more flexible control of the material. Using Complex IOR for metals 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 CoronaPhysicalMtl. These two parameters are not split between different modes anymore, as it is for CoronaMtl. Volumetric scattering can only be enabled when the material has refractive properties, while SSS can always be used regardless of material properties. Do note that Volumetric and SSS parameters are only enabled for Non-metal materials (Fig. 26).
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. In Fig. 27 you will find an example of a statue with Subsurface scattering and without.
Thin Shell (no inside)
The previous Thin (no refraction) function is preserved from CoronaMtl (Legacy) to CoronaPhysicalMtl 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 SSS. 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.
CoronaPhysicalMtl comes with 34 presets you can choose from (Fig. 29). These don’t include any maps, just pre-selected 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.
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 (Fig. 30).
- 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 (Fig. 30).
- And lastly rough as an in-between of foil and brushed types, with average rough values and low anisotropy (Fig. 30).
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).
Specular to IOR mapping
IOR mode can now be set to Specular, 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 rollout within the CoronaPhysicalMtl. It can also be changed into a global parameter within render setup (F10 -> System -> Corona System Settings -> Material Editor: Default IOR mod).
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.
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 CoronaMtl into CoronaPhysicalMtl by also preserving most of the original look.