Author Topic: Substance Designer > Corona (3ds max)  (Read 22014 times)

2017-06-16, 23:37:34

JGallagher

  • Active Users
  • **
  • Posts: 72
    • View Profile
Updated the images and attachments with thanks to Njen!

I've been trying to streamline a Substance Designer to Corona workflow. I've made some substances and a material library that I'd like to share, and to ask for some help tweaking the process. I'm no expert in 3d, so I'm guessing this isn't 100% correct, but I thought it may serve as a stepping stone to people more adept than myself.

First off I made a Corona converter substance (see attachments). I used a Material Transform node to allow for easy input and then the BaseColor/Metallic/Roughness Converter. The outputs have all been renamed to correspond with a Corona Material.

Diffuse
Reflection Color
Reflection Glossiness
Normal
Displacement
Metallic Mask (used for materials that are mixed metallic and dielectric)



Any substance should be able to plug into the Material Transform. Just adjust the substance to your liking then export the outputs as bitmaps. I rename the Corona converter before export to match the material name to save myself from renaming all the maps individually.

Once that is finished you can head over to 3ds Max. I've made a material library (see attached).

Dielectrics



Metallics


Mixed dielectric/metallic material that uses a mask to differentiate between the two.


All that you need to do is pick the map that is named the same as the CoronaBitmap. You must import the Reflection Glossiness and Normal with a Gamma of 1.0. I'm not sure if there is a way to set it so these couple maps automatically import at gamma 1.0, it would be great if someone could let me know.

The only problem that I can see (remember I'm an amateur), is that the Reflection Glossiness doesn't import correctly. To fix this I've added a CoronaOutput after the map, all you have to do is adjust the brightness/contrast to suit your scene. I've been finding I have to lower the contrast a bit, and raise the brightness a bit. I'm not sure if that works for every scene but it seems to be a good rule of thumb.

This is the most efficient method I can come up with. I would love some advice, comments, criticisms. Here's a final substance from Substance Source I got into Corona in about 60 seconds:



Thanks for reading. I've attached the substance and the material library to the post.

References/Thanks:
NicolasW for this great Polycount thread: http://polycount.com/discussion/155524/pbr-basecolor-metallic-to-vray-3-2-corona-redshift-arnold-converter
Wes McDermott and Allegorithmic for their rendering documentation: https://support.allegorithmic.com/documentation/display/integrations/Rendering
« Last Edit: 2017-06-30, 01:19:33 by JGallagher »

2017-06-19, 00:58:21
Reply #1

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
Dielectrics:
* Base colour map (*NOT* diffuse, these are two different kinds of maps in Substance) plugs into the Diffuse map slot.
* Reflection colour has no map and is always set to white.
* Most dielectrics have a Fresnel value of between 1.4 to 1.6.
* Plug in the Height map into the Additional Bump slot on the CoronalNormal.

Metallics:
* Diffuse colour is black.
* Disable Fresnel by plugging in a CoronaColour map and set the values to 999999 (you do not need an IOR map).
* Plug in a Falloff map into the Reflection Colour slot, and shape an exponential curve.
* Base colour map (same as above) plugs the first slot of the Falloff map.
* Plug in the Height map into the Additional Bump slot on the CoronalNormal.

Layered:
* Metallic layer is always the base layer (dirt/rust/paint is always on top of metals).
* Invert the Metallic mask map in the Output rollout.

Attached is a screenshot of what most PBR style shaders should look like.
« Last Edit: 2017-06-19, 01:15:25 by Njen »

2017-06-19, 04:04:00
Reply #2

JGallagher

  • Active Users
  • **
  • Posts: 72
    • View Profile
Njen, thanks a lot for the reply! I appreciate you taking time out of your day to help me out. You've cleaned my mess up nicely! The dielectrics are looking great (way better than before), but I'm having trouble getting the metals to show up properly.

I adjusted the substance to have a cleaner, less-rough metal but it isn't looking much like that in 3ds. I also tried to mix it like I originally had, but that isn't looking correct either. I may have been doing something wrong though...





What did work was simply making the metal in Corona, then using the Reflection Glossiness and the Normal from Substance. It's probably quicker this way, and allows for adjustments of the metal.





2017-06-19, 04:20:47
Reply #3

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
I can think of two reasons why your metal might not look correct.

1. Does your falloff curve look similar to the attached image?

2. Almost every metal has an albedo of between 70% to 95%. Your metal might be too dark.

2017-06-19, 04:27:20
Reply #4

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
Here are some common metal base colours.

2017-06-19, 04:32:35
Reply #5

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
As for gamma, I run all of my texture outputs from Substance through Nuke to create multiple resolutions of each texture. Nuke does a perfect job of applying the correct gamma. However, if you want to do it through Max, when you load in an image, at the bottom of the file chooser dialoge box is an option to override the gamma of the image. I'd recommend doing this here instead of an extra Output node. Every extra shader node you have will slow down your render, even if it's only a little bit, but it all adds up when you have lot's of shaders.

2017-06-19, 06:00:01
Reply #6

JGallagher

  • Active Users
  • **
  • Posts: 72
    • View Profile
I think the metal was too dark from Substance Designer. I copied the Base Color node, and re-imported the map with Gamma = 1.0 for the metallic material, and it's looking a little better.



Can I ask why you use the CoronaColor node in the Fresnel IOR? When I put a pure white color in there it makes my material pitch black, or am I misunderstanding something?

As for the gamma, I was already using that method when importing them. I was hoping for a solution in the CoronaBitmap node so it would lock the gamma for any map I imported, but it's not a huge deal to set it every time.

Thanks again for all your help, Njen.

2017-06-19, 23:26:22
Reply #7

JGallagher

  • Active Users
  • **
  • Posts: 72
    • View Profile
Since the metallic's are the problem I thought I should target those. Here's a simple gold preset from a base material node, with no roughness. Rendered in Substance Designer with iRay.



Here's the material in Corona. Notice I had to lower the Reflection Glossiness amount to get it to look similar.


I've tried it with the fallout in reflection color, and without:

Fallout



Without Fallout



The one with fallout definitely looks more like the Substance Designer render. I still can't seem to get anything to happen when I put a white CoronaColor into the Fresnel IOR slot though.

EDIT: Apologies to the mods, this turned into a 'I Need Help' post. Feel free to move it, otherwise I will update the initial post when it's all sorted out.

2017-06-20, 14:51:36
Reply #8

arqrenderz

  • Active Users
  • **
  • Posts: 996
  • https://www.behance.net/Arqrenderz1
    • View Profile
    • arqrenderz
The diffuse color should be black for the gold shader
99% sure ;)

2017-06-20, 15:35:59
Reply #9

JGallagher

  • Active Users
  • **
  • Posts: 72
    • View Profile
The diffuse color should be black for the gold shader
99% sure ;)

I had thought that having the diffuse level as 0.0 was the same thing as black diffuse? Regardless, I will make it black before re-uploading the material set. Thanks for the heads up.

2017-06-21, 07:31:14
Reply #10

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
Can I ask why you use the CoronaColor node in the Fresnel IOR? When I put a pure white color in there it makes my material pitch black, or am I misunderstanding something?

The coronaColour node is not white (1, 1, 1), it's extremely nuclear (99999, 99999, 99999). This effectively disables the shaders Fresnel component, so that the falloff can do it's job.

2017-06-21, 15:47:05
Reply #11

JGallagher

  • Active Users
  • **
  • Posts: 72
    • View Profile
The coronaColour node is not white (1, 1, 1), it's extremely nuclear (99999, 99999, 99999). This effectively disables the shaders Fresnel component, so that the falloff can do it's job.

Right, I got it working now. Do you know if using a CoronaColor gives you different results from making the Fresnel IOR 999.0 without a CoronaColor? I did a comparison in the VFB and couldn't see any difference, but if this thread has taught me anything it is that I shouldn't assume things are as they seem! Thanks again for all you help, Njen. I will update the initial post when I get home this evening.

2017-06-30, 01:37:35
Reply #12

JGallagher

  • Active Users
  • **
  • Posts: 72
    • View Profile
Updated the attachments and images.

2018-06-07, 09:46:11
Reply #13

mfcb

  • Users
  • *
  • Posts: 4
    • View Profile
I don't know if this question is useful after the realease of the new substance plugin for 3dsMax, but I've been doing some materials in Substance Ii'm a newbie), and following some tutorials there is an substance AO output, that I don't even know if it's necessary for corona, or just gaming engines.
Where should it go inside our corona material?
Multiplying our base color? Or it's no needed to use it?

Thanks!

2018-06-08, 04:10:49
Reply #14

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
For PBR materials, you don't use AO.