Skip to main content

Substance Painter PBR textures convert to Corona renderer materials

Hi everyone! I am working in "Allegorithmic Substance Painter" regularly. It is incredible, amazing and powerfull tool for creation realistic or stylized textures. At the final of workflow it able to export textures with vast options maps.
Often I am using Corona renderer in 3Ds MAX 2018 for Stand-alone rendering. I love it. It is user friendly tool, powerfull and very iteractive. When I am exporting textures from Substance Painter with default preset "Corona" I have 6 textures:
• Diffuse map
• Glossiness map
• IOR map
• Normal map
• Reflection map
• Height map
This 6 textures are enough to create Corona material in 3Ds MAX. But in every case I needed to fix  maps to succeed same result between "Substance Painter" PBR viewport and Stand-alone 3Ds MAX Corona render. Usually I have fixed the gamma value or exposition the maps. It wastes some time. And the result be able to a different than in "Substance Painter" preview. 
For example I have made some renders in 3Ds MAX Corona renderer 1.6. For my experiments I have used the MatMeet model and standard "Substance Painter" smart materials. I have prepared same environment in the scenes (Substance and 3Ds MAX) and similar lighting settings. For HDRi illumiantion I have used "HDRi Studio map". There is the link for download.
On the left you can see Corona renderer with material based on 6 texture maps (Corona preset in Substance Painter). In the middle is screenshot of viewport Substance Painter. He will be a reference. And on the right you can see Corona renderer with material based on PBR textures (Albedo, Metallic, Roughness, Normal, Height). Actually for process optimization I have excluded Height map. Height map do not affect to the result globally in this case.
On the right in material based PBR textures I have invert Metallic map and assign it yo IOR slot. As you can see on the right is terrible result. This it was obvious. In the further I will not considering this option.
However the material based on Corona preset looks not bad. But it is not same result! I have changed the environmnet rotation angle to another example for comparing.
The image shows that Reflections, Glossiness and IOR are different. Do not pay attention to the different color, hue, brightness. Albedo map and Diffuse will be same. It is correcting with contrasts or another filter. In the next image you as demonstraded differences in Reflection, Glossiness and IOR withour color.
If you compare CESSENTIAL_Reflect from 3Ds MAX "Render Elements" with Roughness+Metallic+Normal maps (without Albedo map) you will see that difference is vast. On the right there is screenshot viewport with Roughness map only in Substance Painter.
To succeed best result you have to experiment with output values into 3Ds MAX. 

I have created the universal Corona material for 3Ds MAX based on PBR textures. You don't have to fix output values or something else. Maybe it needs to little correcting for best result. Anyway I think it is good decision. 
Let me show how it looks. On the right is screenshot viewport of Substance Painter and on the left is Corona renderer based on my PBR material. 
As you can see the result very similar. Reflections, Glossiness and IOR are correct! 

How do it use? It is so easy! Just take PBR maps (Albedo/BaseColor, Metallic, Roughness, Normal, Height) and put into empty slots. In the materials there is no empty "Height map slot". If you need it put into Heigh in both materials.
This templete of Corona materials is not panacea :) Sometimes the materials needs to adjustments for best result. Generally "Roughness/Glossiness" and IOR able to look little different. Use "Map #243" (Output map) for adjustment non-metal material Glossiness. If you want to fix Glossiness you need Decrease or increase "RGB Offset" value in output options. For adjustments Glossiness in the "Metal material" use "Map #237" (CoronaMix map). If you want to customize metall glossiness you need to  increase or decrease "multiplier" of Top layer in the CoronaMix map. 
There is rare case - wrong IOR in the Blended composite material. This is typical of complex metals (Rust or similar). In this case you need to fix Outputs values in "Metallic map". If you want to make material in general more metallic decrease "RGB Level" (Less than 1). If you want to make material in general less metallic do not use "RGB Level" (leave default value - 1), Instead use "RGB Offset". Increasing in "RGB Offset" value do material more non-metallic in general. 
I guess my template will a good start point for converting PBR textures to Corona renderer materials.
Make sure that you using default 2.2 gamma in Preferences of 3Ds MAX.

3Ds MAX 2018 material library file with the template you can download here. It is FREE!  

If you appreciate or this materials was helpfull you can donate me via:

BitCoin wallet

Etherium wallet

Monero wallet


  1. Thank you for sharing your workflow on this, It's been very informative! I've been trying this out myself as i want to start using it in Arch viz a little more.

    Just a question, with your bitmaps, is there a reason for using bitmap over coronabitmap? Corona bitmap gives slightly better / smoother results, so i've switched the bitmaps to corona bitmaps.

    Also for use of AO, i've created a composite material at Diffuse map to mix as a multiply with AO, Looks nice, adds a bit to the material.

    Keep up the amazing work.


    1. Thank you, Chris!
      Sorry for latest response. Yes, sure! You can use corona bitmap for another and better result. I guess I need to use CoronaBitmap also!
      Main idea is combine 2 or more materials (metal and non metal) using metal PBR texture as mask

  2. Replies
    1. Welcome!
      Glad to hear that it was be usefull for you! :)

  3. Thank you so much for such a wonderful and detailed tutorial.

    I was wondering if their is any workflow which would work in reverse way ?
    for example if i want to extract PBR render elements from corona materials.

    one of the use of this would be creating low poly game ready assets from high poly corona based workflow.

    where the PBR Textures for low poly assets are extracted from highpoly corona material s


Post a Comment

Popular posts from this blog

Wooden wine barrels | PBR Low-Poly 3D model

The best house for wine is a wooden barrel! :)
Originally, I wanted to to draw old wine barrel but in the process of creating I decided to draw 3 options: a new, an older and the oldest barrel.
Also you can watch the model in interactive 3d view in the Sketchfab. Just press play!
Wooden wine barrels by Igor Novik on Sketchfab
Model has prepared for real-time engines. All materials based on PBR textures.

"A New barrel" has 764 triangles. "An Older barrel" with a bung has 810 triangles. "The oldest barrel" on legs and with a bung, tan has 1420 triangles.
In the next renders you can see the barrels on the details.

Sci-Fi Steel Phoenix | PBR Low-Poly 3D model

Hello World! :)

An idea came to my mind - steel bird in Sci-Fi style and I decided to draw it. I want to represent it for you!

Steel Phoenix | Sci-Fi Low-poly by Igor Novik on Sketchfab Below there are few images with different views of model.

Materials are basing on PBR textures.

Model has 6336 triangles and 3194 vertices.

It is perfectly compatible with Unity.