The release of 3ds Max 2017 introduces us to a new material type, the Physical Material. This new material looks very promising on paper, as it is aiming to properly simulate real-world materials, while claiming ease of use courtesy of a clear and logical layout. It is meant to be used with the equally new Autodesk RayTracer (ART) rendering engine but it is also compatible with others, such as mental ray and scanline.
Let’s take a look at this new material…
The Test Scene
For testing purposes, I wanted a simple scene that renders relatively fast, with simple geometry so that I can focus on material work and not be distracted by the scene itself. So I went with a simple Shader ball, a flat ground and three photometric lights in what resembles a simple studio lighting scenario. There’s also one camera that provides the main shot at the shader ball.
As I set out to test the new Physical Material, I needed to work in a way that gets me instant feedback to what the material would look like in the final render. I didn’t want to have to run a render process every time I made a parameter change to the material. Viewport feedback has come a long way in the last few years but still doesn’t quite match a full render. In short I needed an interactive renderer that helps me fine-tune the materials I intended to create. That interactive renderer came in the shape of ActiveShade. It works in a viewport, thus minimizing UI clutter, and provides instant feedback in what is very close to a final render result.
I needed to set the Render Settings accordingly, so I chose Active Shade as a rendering Target and I also set out the new ART Renderer as my renderer of choice. This new Autodesk RayTracer (ART) renderer works very nicely with the Physical Material and I will be writing a separate article on that as well.
As a side note, ActiveShade can work in its own floating window or in a viewport. I wanted it in a viewport as I didn’t want an additional floating (render) window cluttering the scene. I started by readjusting my UI layout to what I thought worked well for me, by displaying the Slate Material Editor, an active camera view and another viewport to set in ActiveShade mode.
After that, I only needed to set that viewport in ActiveShade mode by clicking its label and choosing the right option, i.e. Extended Viewports > ActiveShade.
From that point on I was all set for my tests as the ActiveShade viewport gave me a rendered result that closely matches the final render.
The Physical Material
Once the scene was set, I began to explore the new Physical Material.
When I added my first Physical Material, the first thing I noticed is a certain degree of familiarity with mental ray’s Arch & Design shader. A Presets list makes it easy to get you a head start, with preset materials ranging from glass to metals, all the way to unconventional ones such as “Red Sports Car Paint” and even “Hot Dog w. Ketchup”...
I applied the material to the shader ball and went through some of the presets to get a feel for their looks. Generally, they worked pretty well although some values needed to be tweaked to accommodate different scene units.
However, I was more interested in creating materials from scratch to better evaluate how easy or how hard it was to create your own materials: I was pleasantly surprised with the results.
As I was playing with parameters, I discovered that a Physical Material relies on three major components, and three minor ones. The three major components relate to the Material Base color, the closest you have to a Diffuse color to keep with terminology you are already familiar with; the Reflection parameters to define how light bounces off the material, and Transparency parameters to define Refraction properties of that material. Once you define these three components, you can create a very wide array of real-world materials.
Ultimately, you can fine-tune your material further by editing the three minor components I mentioned, and these are Sub-Surface Scattering, Emission parameters and Coating parameters that I will discuss later. For now, I’ll focus on the three main components.
I also noticed that the Physical Material had two modes: a Standard mode and an Advanced mode. In Standard mode, the Base Color and Reflections parameters are combined into one and the same group. This is meant to simplify the process even further but I must admit that I personally liked the Advanced Mode better, where Base Color Parameters and Reflections parameters were separated. It made for a more logical layout but this statement is based on my personal opinion.
It is important to note that the Advanced Mode also gives you an additional section to adjust Reflectance Parameters similar to the one in mental ray’s Arch & Design material, where you can adjust reflectance based on the viewing angle at any given time. However, I found myself simply using the Index Of Refraction (IOR) method which seems to work quite well with the Physical Material.
Understanding the main parameters
I went ahead to experiment by creating various materials, starting with the ever-popular Glass.
For transparent glass, I started by removing the base color by setting its weight to 0, and cranking up Transparency all the way to 1 (or 100%). That gave me a good base to start. I then tinted the glass by changing the Transparency color; I chose a green color at that time for some reason... It gave me a nice result but the glass seemed a bit dense to me. I then noticed the Depth value set to 0 by default. I realized that by varying that depth value, I could control the density of the glass and the transparency would vary depending if the glass was thick or thin.
I went on to experiment with various IOR values but the values I settled for became clearer after I played with other material types as well, and not just glass. I will come back to this particular point in a moment but I will point out though that by default, a single IOR value affects both reflections and refractions. You can unlock this if you want separate IOR values for special cases. I didn’t find that compulsory for my tests.
I also tried my hand at Sub-Surface Scattering (SSS) and learned something in the process: some of the weight values of the Physical Material are inter-connected. When I tried to set the SSS weight to 1 (100%) with a bright red color, I was surprised it had no effect on the scene. It turns out that if Transparency is set to its maximum value of 1, then SSS has no effect. I brought down the Transparency level by 10 or 15% and the results were immediate.
I then moved on to try some Metal materials, starting with Chrome.
So I created a new Physical Material that I applied to the Shader Ball as if starting from scratch. For Chrome, which is essentially a mirror ball, I again started with a Base Color Weight of 0 and a full reflection of 1. Here, I knew that I needed a fairly high IOR value, so I tried the maximum value of 50. At that time, and although it looked like a reflective material, I realized that apart from the checker floor, the material didn’t have much to reflect. So I decided to use an HDRI background that can be reflected on the ball. I found one that I liked at http://gl.ict.usc.edu/Data/HighResProbes and used it in my scene. Since the HDRI image contributes to scene lighting, I had to adjust the camera’s Exposure accordingly, but again the improvements were immediate and the material started to convincingly look like chrome.
I then found out that I can quite easily turn this chrome material into a rougher metal simply by adjusting its IOR and roughness values. I also found a Metalness parameter that helps you force a metal look to your material even if your IOR value is low. In essence, when Metalness is set to 1, the reflections work only off the surface of the material, what’s underneath is regarded as opaque. Roughness proved interesting as adjusting this parameter blurs the reflections, which is what you’d want with aluminum or stainless steel metals for example. With a bit more experimentation and by adding a bitmap to the Roughness channel, I was able to simulate rough or old metals as well.
Next I tried to work with Wood.
Initially, it was pretty straightforward. I started with a bitmap as a base color, and set my IOR value to 1.85. For starters, I didn’t want a mirror-like reflection so I used a Roughness value of about 35% to blur the reflections. I also experimented with Reflection weights between 80 and 100%. This gave me a good and simple starting point.
I then decided to add a clear coat which works like a layer of varnish on top, and the Physical Material allowed me to do that with very little effort. I chose a dark beige/brown color, and adjusted other parameters such as setting a higher coating layer IOR, a smaller Roughness value and adjusting the coating layer to affect the color underneath. All of a sudden, I gave the old wood a new lease on life.
My next test was with Ceramic tiles.
By now I had a good idea of how to set IOR values and even through it is not cast in stone, I came up with a table that helped me get within reasonable values depending on the materials I was working on.
And so for this test, I set a new material to use an IOR value of 1.9 and I used very little Roughness on it. I then added a Tiles map to the Base Color, and duplicated it and applied the duplicate to the Reflectivity Map to prevent the grouts from reflecting the environment. For an added touch, I also used that same map in the bump channel and added a marble bitmap as a tile texture. Again, the results were quite conclusive.
Finally, I concluded my tests by dabbling with the Emission parameter.
Making a Physical Material Emissive is doubly interesting, because apart from making the material self-illuminated, it also makes a contributing factor to the lighting of the scene. In theory, you could even light a scene simply by using emissive materials on mesh objects rather than using actual physical lights. I haven’t personally tested this theory enough to know if it’s a practical one though.
All in all, I’m quite impressed with the new Physical Material. I found it to be extremely easy to use and as I got used to it, it was a blast to jump from one material type to another. Coupled with the equally new Autodesk Raytracer (ART) rendering engine, I was able to create real-world materials and end up with very satisfying results in no time. I look forward to more experimentation, this time with real-world scenes so I can compare this new workflow with older ones I’m already used to.
If you feel like experimenting on your own and would like to use the scenes shown here, you can download them using the following links: