Author Topic: Substance Painter 2 Profile and Starter Guide  (Read 67460 times)

2016-03-24, 05:02:48

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile
Use Corona 1.5+ to follow this guide!

So what are the differences between this profile and the one that comes bundled with Substance Painter 2?
  - Your glossiness map will be exported with the industry standard GGX (Your glossiness map is future-proof and will work with other engines).
    This is not the case with the official profile.
  - You will get additional maps (BlendMask, MetalColor, etc).
  - Same workflow as my Quixel Suite exporter.
 
  I will update the profile and guide as I continue to find missing stuff.

Setup and Info
  - Unzip "Corona (Forum).spexp" into "C:\Users\USER_NAME\Documents\Substance Painter 2\shelf\export-presets".
  - You can now select "Corona (Forum)" as a profile when you export.
  - By default Substance Painter read/export Diffuse as sRGB and the other maps as RGB.
    You can change this behavior here
   
   

  - Even though we use Glossiness in Corona, we have to use Metal/Roughness in Substance Painter.
    We can't generate some of the maps we need with the Glossiness / Specular workflow.
   
   

  - "Height" map will be converted to "Normal" / "Bump" map when you export.

Material Theory
Diffuse
If you want to be safe, stay within 50 - 240 sRGB
If you feel a little bit daring, stay within 30 - 240 sRGB

IOR
- Plastics:
  Use 1.5 IOR if you don't know what Reflectivity % the material is.
  IOR 1.33 (2% Reflectivity)
  IOR 1.42 (3% Reflectivity)
  IOR 1.50 (4% Reflectivity)
  The max range is 2.4.
  Most plastics are between 1.3 and 1.6.

  Reflectance to IOR Converter
  (1+SQRT(REFLECTANCE))/(1-SQRT(REFLECTANCE))
  Example: Plastic = (1+SQRT(0.04))/(1-SQRT(0.04)) = 1.50 IOR

  IOR to Reflectance Converter
  (((1-IOR)/(1+IOR))^2)*100
  Example: Plastic = (((1-1.5)/(1+1.5))^2)*100 = 4% Reflectance

- Metals:
  It's common practice to put the metal color into "Reflection Color" and then use some insane IOR value like 8/20+, but this will actually give you incorrect results.
  Corona Material can only handle Simple IOR (n) and not Complex IOR (n and k).
  When Simple IOR is raised above 2, the gradient is inverted. Instead of getting brighter on the edges, it will get darker.
 
 

  To get proper Metal IOR we either want to use "Siger ComplexFresnel" or a Custom Falloff.
  First we need to disable the Built-in Simple IOR. 999 IOR will not disable the IOR completly.
  Create a "CoronaColor" and plug it into the "Fresnel IOR" slot. Select "Solid HDR color" and spam "99999999999" until you cap the value in R G B.
  This will "disable" the Simple IOR.
 
 
 
Reflection
- Plastics:
  Set reflection to 1.0 / White.
  Controll reflectivity with "Glossiness"
 
  If your material is 1.5 IOR and you reduce "Reflection" lower than 1, the material will no longer act as 1.5 IOR.
  Example: 10 IOR with 0.5 Reflection, is the same as 3.74 IOR, only clamped.

 

  If your F0 is too bright even though it has correct Albedo value, lower IOR.
 
  If you need Iridescence, use "Siger ThinFilm" in "Reflection Color".
 
- Metals:
  - There are two ways you can handle this in Corona.
     - Use "Siger ComplexFresnel"
     - Create a Custom Falloff.
 
  - With "Siger ComplexFresnel" you will get physically correct metals, but it can be time consuming if you got a specific color in mind.
    If you got a specific color in mind, I would recommend Custom Falloff.
   
  - This is how I create my Custom Falloff.
    You will find the metal color in the MetalColor map. Use this color in the top slot of the falloff.
    You can even plug the whole map into the top slot if you got variation in the color.
    Create a curve like this in the "Mix Curve", you can always tweak it.
   
 
 
   - I have analyzed this falloff against ComplexFresnel in Nuke. They are almost identical and it's a lot quicker to get the precise color.
     Comparison
     

Glossiness Grazing Angles
  - Even rough materials get strong reflections at grazing angles, this is how you can get this effect.
    Create a Falloff map and throw the "Glossiness" map into the top slot.
    This curve is not set in stone, adjust it to your liking.

    Simple Example (Glossiness in top slot)

   

    More Advanced Example

   

Fabrics
  - There are multiple ways to create fabrics in Corona.

    Simple Example
    Disable reflection and play with the Curve/Gamma/Saturation.

   

    More Advanced Example
    Disable reflection and plug this badboy into the "Diffuse" slot

   

UV / Unwrap
  - Subtance Painter need proper UVs. Here are some basic rules.
    Different objects can't share the same UV space.
    You can however overlap objects that share the same AO map, like symmetry.
    You must keep the UVs inside the UV tiles.

  - Here is an example of a stock model from a famous 3D store, this will not work in Subtance Painter.

   

  - Here is a quick re-unwrap of the same model. This unwrap will work in Subtance Painter.
    If you intend to use the model in a closeup shot, I would recommend that you split the model into different objects.
    Example: If you detach the seat, you will get one UV tile for the seat and one UV tile for the remaining parts (Two texture maps).
   
   
   
    - My current UV workflow is to create seams in 3dsMax. Do a "Quick Pelt" to convert the seams into edge splits.
     Import the model into Zbrush and run UV Master.
     I use Advanced UV Normalizer 2 to normalize the "Texel Density".
   
  - Seams are not a problem in Subtance Painter, you can paint directly over them on the 3D model or in the 2D View.
    You can even use "Tri-planer Projection".
   
  - When the model is Subtance Painter ready, it is also Unreal 4 ready!

Useful Filters / Effects
  - You can create your own Filter / Effect with Substance Designer.

  - PBR Validate
    This filter will make sure that you don't break any PBR rules. If you do, your material will show as red.

   

  - Welding Tool
    This filter will let you paint Welds directly onto your model!

   

  - Bitmap to Normal/Height
    This filter will convert pictures into Normal/Height maps.

   

3dsMax Scene to HDRi
  - You can render your 3dsMax scenes as HDRi and get proper interior lighting in Substance Painter.
  - For this example I extruded a simple room and applied wall/floor textures made by bbb3viz (Check him out if you haven't!).
    We will cover how to port non-PBR textures like these to PBR later.
  - I placed a wall in the middle of the room to block two of the windows. This will give us more variation when we rotate the HDRi (Good for checking Glossiness).
  - Make sure that you don't have any hidden lights. It's not about rendering a good looking HDRi, it's about light information.

    Find a nice spot for your Shaderball.

   

    Place a "Free Cam" inside your Shaderball like this.
    Hide the Shaderball.

   

    Apply a "CoronaCameraMod" on the "Free Cam" and select "Spherical" Projection type.

   

    Change your Output Size to have an "Image Aspect" of 2.0. The Width and Height have to be in power of 2.
    Example: 512, 1024, 2048, 4096, 8192.

   

    Make sure that "Highlight compress" and "Contrast" has a value of 1 (We want our image to be Linear, non-clamped).
    Leave "Exposure (EV)" at 0 if you want the HDRi to have the exact light information as your scene. You need to adjust the camera EV inside Painter if you do this.
    The HDRis that ship with Painter have proper exposure at EV 0. If you want to mimic this, set proper exposure in Corona before you save the image (This will make it easier for you to swap HDRis without changing any settings).

   

    It's time to hit that render button!
    Save your render as .exr or .hdr (Photoshop has a bug where it clamp high values in .exr files, if you want to be safe, save as .hdr).
    You can download this HDRi HERE. (The forum has a 15mb limit)

   

    HDRi in action inside Substance Painter

   

Texture Baking
  - These are my current bake settings.
   
      
      
     - Enable "World space normal".
    
     - I usually set "Secondary Rays" to 512.
    
      
   
     - Change the Algorithm to "Per Vertex", since we will be painting on a Highpoly.
       If you want the Curvature map to match Quixel Suite, lower the "Details".
    
      
   
     - Enable "Position".
   
Mask Generation
  - Substance Painter 2 has a new mask generator called "MG Mask Editor".
   Right click on one of your material stacks and select "Add black mask"
   Click the "Add Effect" button and select "Add generator"
   Assign "MG Mask Editor" to the Effect slot.
   
   
   
Save as Smart Material
  - Don't forget to save your material as a Smart Material for future use!
   Create a new folder with the material name.
    Right click the folder and select "Create Smart Material"   
   
   

Export Textures   
  - You only need to select "Corona (Forum)" in the Config drop-down.
 
   
   
Corona Material
  - I have converted my Quixel MegaScan materials over to Substance Painter.
    In this example we will use "Dirty Scratched Painted Steel", as it has both metal and plastic.
 
   
 
    Export all the masks by right clicking and "Export mask to file".
   
   
 
    Disable all the masks by right clicking and "Toggle mask".
   
   
 
   Disable all the materials. Enable one at a time and export them separately.
   Normal maps auto blend in Substance Painter by default, so you need to disable them.
   
   
 
   01 Steel Base
   
   
   
 
   02 Paint
   
   
   
 
   03 Muddy Dirt (This one could use some SSS)
   
   
   
   
   04 Dirt
   
   
   
 
   Final Material
   
   
   
 
   Dirty Steel Material

   
   

  Oh shit, do you know what ? We have reached the end of this post :'(
« Last Edit: 2016-07-25, 13:51:54 by dubcat »
             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo

2016-03-24, 09:48:25
Reply #1

Juraj

  • Active Users
  • **
  • Posts: 4797
    • View Profile
    • studio website
Another great guide.

Did you learn it just for curiousity given you already integrated Quixel into your workflow ?

I am pretty impressed you have the will to get to these tools so quickly. I've been just pondering for weeks that maybe....
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2016-03-24, 13:35:58
Reply #2

vkiuru

  • Active Users
  • **
  • Posts: 320
    • View Profile
Thanks again although the subject is a bit hard to grasp. Are you currently in an asylum since all that stuff is crazy and I can't imagine how you can manage such a complicated subject and write such a long description :D Again, thanks.

2016-03-24, 14:01:53
Reply #3

FrostKiwi

  • Active Users
  • **
  • Posts: 686
    • View Profile
    • YouTube
You absolute mad man, this is a really great guide.
I'm 🐥 not 🥝, pls don't eat me ( ;  ;   )

2016-03-24, 17:03:50
Reply #4

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 9026
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Holy cow, that will take some time just to read.

Thank you very much, you're doing great job!
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2016-03-24, 17:08:46
Reply #5

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile
Did you learn it just for curiousity given you already integrated Quixel into your workflow ?

I actually bought Painter and Designer back in 2014 after watching this Unreal Engine 4 Twitch Broadcast.
I jumped out of my chair when I saw the Particle Brush.
But the program was pretty meh besides that, so I left it on the shelf.

But now that Painter 2 is out with
iRay (We can finally preview our textures in an offline render!)
The new "MG Mask Editor" that's like 99% the same as Quixels "Dynamask"
Tri-planer projection (Bye bye seams)
Particle Brush. (I've lost count of how many times I've been googling for a good looking dripping rust/shit textures. Never again!)
Smart Material (Same as Quixel)
Clone and Smudge tool (Perfect for smudging those glossiness maps!)
Use your own HDRi environment!
Filters
Code your own tools/procedural materials/generators in Substance Designer

It's kinda sad, but Quixel Suite 2 is only a material library for me now :(

Are you currently in an asylum?
How did you know ? :P

You absolute mad man, this is a really great guide.
Glad you liked it. I will share some of my custom generators when I feel the time is right.
« Last Edit: 2016-03-24, 17:13:05 by dubcat »
             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo

2016-03-24, 17:24:47
Reply #6

Juraj

  • Active Users
  • **
  • Posts: 4797
    • View Profile
    • studio website
Will you ever show what you use it for ? What kind of assets/projects ?

Recently read few making-ofs (Unreal Tournament x Quixel, 1886 by Ready-at-Dawn) and they did materials basically how you do it in Corona, blending full tiling mats using the masks, compared to using one ultimate-shader.

I thought of adopting this, because it's very logical, tidy and flexible. Create or just export smart materials, tiling, and mix them with generic masks multiplied by AO or some edge effects. (or just alone to keep fully tiling mats).
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2016-03-24, 17:41:34
Reply #7

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 13154
  • Marcin
    • View Profile
Will you ever show what you use it for ? What kind of assets/projects ?

Quote from: dubcat
good looking dripping rust/shit textures
I am not sure if we really want to know... :X
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2016-03-24, 18:06:10
Reply #8

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile
Will you ever show what you use it for ? What kind of assets/projects ?
I plan on adding a section in the guide where we talk about Arkviz stuff.
I'm a secretive little cat when it comes to personal projects, they are a bunch of never ending stories.

I am not sure if we really want to know... :X
Hehehehhe :P
             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo

2016-03-24, 18:17:25
Reply #9

Juraj

  • Active Users
  • **
  • Posts: 4797
    • View Profile
    • studio website


Quote from: dubcat
good looking dripping rust/shit textures
I am not sure if we really want to know... :X

I chuckled when I saw that too :- D But it didn't phase me, if forums taught me anything, is that there is no limit to CGI obsessiveness. Before that I thought it's just train model builders.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2016-03-25, 06:24:33
Reply #10

Sintel

  • Active Users
  • **
  • Posts: 37
    • View Profile
Nice job, thank you

But if I do not have V-Ray installed, what I need to do to have glossiness curve fixed output map?
« Last Edit: 2016-03-25, 06:28:29 by Sintel »

2016-03-25, 09:55:37
Reply #11

rambambulli

  • Active Users
  • **
  • Posts: 159
    • View Profile
This is a very nice tutorial Dubcat (as always!!).

I was doubting to start testing Quixel or Substance. Seems a good idea to start with Substance :)

2016-03-25, 22:53:07
Reply #12

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile
But if I do not have V-Ray installed, what I need to do to have glossiness curve fixed output map?
Hey man. I've uploaded a .mat dump that contain all the Output maps.

Seems a good idea to start with Substance :)
Not a bad decision !

Ok guys. I've added "Useful Filter / Effects" and "3dsMax Scene to HDRi" to the guide
« Last Edit: 2016-03-26, 01:49:32 by dubcat »
             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo

2016-04-03, 22:24:15
Reply #13

guest_guest

  • Guest
Hey man. I've uploaded a .mat dump that contain all the Output maps.

can you post .mat file for 3dsmax 2013??
seems that this is for 2015 and later ...

2016-04-04, 01:01:44
Reply #14

dubcat

  • Active Users
  • **
  • Posts: 425
  • ฅ^•ﻌ•^ฅ meow
    • View Profile
I ran a ".mat file to lower version" script on the .mat file. See if it works.
             ___
    _] [__|OO|
   (____|___|     https://www.twitch.tv/dubca7 / https://soundcloud.com/dubca7 ( ͡° ͜ʖ ͡°) choo choo