Author Topic: Substance Painter 2018.2.1 <> Corona 2  (Read 7297 times)

2018-08-18, 02:10:28

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
TL;DR: What is the correct export configuration in Substance Painter to alleviate the need for subsequent output modifications in 3ds Max / Corona

---

I have reviewed the available documentation and forum posts describing how to achieve parity between Substance Painter's Iray and realtime viewport with Corona Renderer. Almost all conversation concerning this topic points to Dubcat's post, which was last updated a little over 2 years ago.

---
 
All exported textures use the following color depth settings:



[TARGET APPEARANCE]
Substance Painter 2018.2.1 - IRay


Substance Painter 2 Corona export preset [rendered in Corona; texture import: Automatic]



Right off the bat, the glossiness is incorrect; never mind the fresnel IOR

Substance Painter 2 Dubcat export preset [rendered in Corona; texture import: Automatic]



I have prepared the material based on what is described in the forum post. Glossiness is incorrect, reflection color looks incorrect, but may be a function of the fresnel IOR(?) I am certain there is something wrong with the material graph for this shader, but I am unsure what exactly.

Substance Painter 2 Corona export preset [rendered in Corona; texture import: Automatic; glossiness tweak + IOR map]



Critically, the above material is a layered material. In any realtime renderer (e.g. UE4, Unity, Marmoset), a single shader could be used to accurately render the texture set for each asset; in fact, in UE4 only three textures are required, including a channel packed ORM (occlusion, roughness, metallic) texture. However, in 3ds Max / Corona, seven different textures, including a blend mask, a unique output curve, and two shaders are required to achieve the desired result.

---

It is clear that I am misunderstanding something essential about how to achieve parity between Substance Painter and Corona Renderer in terms of export / import settings, color depth, or the like.

Given that glossiness and fresnel tweaks go a long way to recovering the appearance from Substance Painter, the question becomes:

What is the correct export configuration in Substance Painter to alleviate the need for subsequent output modifications in 3ds Max / Corona
« Last Edit: 2018-08-19, 01:22:23 by cjwidd »

2018-08-18, 06:45:20
Reply #1

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
Because the Corona material does not support a 'Metalness' map yet, it is simply easier to blend between a metallic material (black diffuse) and a dielectric material (white reflection) using a metal mask.

2018-08-18, 09:27:36
Reply #2

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
Decided to quickly throw this together for you...

2018-08-18, 14:57:03
Reply #3

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
[..] rendered in Corona; texture import: Automatic

Here's your problem. All textures, except diffuse/base color has to be imported with gamma 1.0
And of course, plug them like Njen showed, except that you can omit disableIOR-9999 node, as to my best knowledge, it does absolutely nothing.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2018-08-18, 22:31:32
Reply #4

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
Decided to quickly throw this together for you...

First, thank you so much for taking your time to help address this issue. To be sure I understand, this is basically the Dubcat material network(?)

You pass the diffuse and glossiness into a falloff, both of which I assume follow the curve Dubcat described in his general purpose (orange) metal falloff(?)

You've done the fresnel IOR hack, and then blended the normal and height, and used a blend mask for the two materials.

The two images obviously look very similar. What are the two materials in question?
« Last Edit: 2018-08-18, 22:35:35 by cjwidd »

2018-08-18, 22:34:53
Reply #5

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
[..] rendered in Corona; texture import: Automatic

Here's your problem. All textures, except diffuse/base color has to be imported with gamma 1.0
And of course, plug them like Njen showed, except that you can omit disableIOR-9999 node, as to my best knowledge, it does absolutely nothing.

Could you clarify, "Automatic" import is gamma 2.2 and "Override" is gamma 1.0?
Why is it that Dubcat believed the disable IOR node was helping, but it is being suggested here that it is not making a difference. Is that just because he prepared his mat graph with an earlier version of Corona (1.4-1.5)?

2018-08-18, 22:42:51
Reply #6

PROH

  • Active Users
  • **
  • Posts: 1219
    • View Profile
Yes, and yes. For your previous question: the upper mat (#48) is the metal, and the lower (#49) is the paint. The basecolor goes straight into the diffuse channel WHITOUT a falloff map (mat #48). The diffuse for the metal is black/zero.

2018-08-18, 22:52:06
Reply #7

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
Got it, and thanks for your help :)
My only other remaining question (for now), is whether there is a difference between 'base color' and 'diffuse', as there seems to be(?) If so, is this based on an export option in Painter?

2018-08-18, 23:36:02
Reply #8

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8779
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Could you clarify, "Automatic" import is gamma 2.2 and "Override" is gamma 1.0?

Override mode will load bitmap with specified gamma, it can be 1.0, 2.2 or whatever. Automatic will load all textures with gamma 2.2, except for the 32 bit textures - those will be loaded with gamma 1.0

Why is it that Dubcat believed the disable IOR node was helping, but it is being suggested here that it is not making a difference. Is that just because he prepared his mat graph with an earlier version of Corona (1.4-1.5)?

I think dubcat himself has said that this behaviour was changed in some Corona version and now there's no difference between maxing fresnelIOR in material itself and plugging CoronaColor node.

Got it, and thanks for your help :)
My only other remaining question (for now), is whether there is a difference between 'base color' and 'diffuse', as there seems to be(?) If so, is this based on an export option in Painter?

If it's only about output from Painter, then i think there's no difference between these two.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2018-08-19, 06:20:17
Reply #9

cjwidd

  • Active Users
  • **
  • Posts: 1077
    • View Profile
    • Artstation
I've tried in earnest to replicate Njen's material, but did not arrive at the expected results:




After RTFM, Allegorithmic recommends the following texture import settings for rendering in Corona, which produces the following:






Adopting these recommendations in part (see matgraph headers below):




Again, I've tried to reduce the need for a second material, resulting in the following; includes partial adherence to the Allegorithmic texture import settings as above:




Substance Painter 2018.2.1 IRay render [reference]


As far as I can tell, using two materials is buying some realism in the way of fresnel falloff, which I assume is the point of the blend mask provided by Dubcat's Substance Painter export preset. However, barring other complexities not captured by the material properties of this asset, it seems like the single material graph is simpler and arrives at a nearly identical result(?)

Both the layered material and single material shown in this post use the following texture channel settings in Painter, and import settings in Max:





**link to assets used in this project





« Last Edit: 2018-08-19, 06:49:58 by cjwidd »

2019-01-24, 03:31:42
Reply #10

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile
Why is it that Dubcat believed the disable IOR node was helping, but it is being suggested here that it is not making a difference.

You could disable IOR like in Vray a few patches ago. In the latest Corona version you can't, and I have no idea why the devs would go with this decision.
             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo