Author Topic: Corona <> Substance Painter workflow  (Read 4075 times)

2017-11-02, 15:58:59

JCdeBlok

  • Active Users
  • **
  • Posts: 85
  • Jonathan de Blok
    • View Profile
Is it me or is this way to convoluted at the moment? What I'd love to see is a dedicated 'CoronaSubstancePainter' material which somehow results in rendering the same thing that I'm seeing in substance painter.

This is the problem I'm talking about:   https://corona-renderer.com/forum/index.php?topic=11377.0

Ideally getting something from substance painter to render correctly in Corona should only take a few clicks..  not doing a master thesis on all the particularities of different shader models and what not :)

2017-11-02, 17:20:14
Reply #1

Njen

  • Active Users
  • **
  • Posts: 518
    • View Profile
    • Kickstart Cyan Eyed!
Setting it up *is* just a few clicks. Dielectrics: base colour into diffuse, white reflection colour. Metallics: base colour into reflection, black diffuse. Mix the two in a layered material using a metallic map.

There is nothing wrong with explaining why it works.
Please support my Kickstarter for my animated film, Cyan Eyed (rendered in Corona)!

2017-11-02, 19:11:27
Reply #2

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 6251
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Exactly. The workflow is very simple - export textures with Corona preset (just make sure to use dubcat's preset, as the one that ships with painter, does pretty lame job) and plug them into Corona material's corresponding slots. How hard could it be? If there would be some magic SubstanceReady material, you would still need to export textures in the Painter and plug them in to material in Corona - nothing would be different.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2017-11-02, 20:43:19
Reply #3

Nejc Kilar

  • Active Users
  • **
  • Posts: 867
    • View Profile
    • My personal website
Quick question... How do you guys / gals import .sbsar into 3ds Max?

It seems rather buggy at this point. Thats presumably because Autodesk can't be bothered rolling out an update for Substance in 3ds Max. From experience, it works flawlessly in C4D but 3ds Max tends to be weird about it plus Corona doesn't appear to fully support it anyway.

2017-11-03, 08:44:55
Reply #4

JCdeBlok

  • Active Users
  • **
  • Posts: 85
  • Jonathan de Blok
    • View Profile
It's not simply plugin in a few maps into to a corona material, see attached image. And some bitmaps need gamma=1 others 2.2 etc..  Sure it's not rocket science when you know the trick and use a template in a material lib but having a dozen of these materials in a scene makes it hard to manage. Part of that is to blame on the SME itself because it can't make nested networks so there is no way of hiding parts out of view.

I had to write a few scripts to manage all the bitmaps. Applying a different texture set, or a new one, involves updating 5 bitmaps and maybe fine tune a few parameters.. mind numbing.

Not sure what a good solution might be but ideally I'd just like to get what I'm seeing in substance painter into the VFB without all this.  Just point something to a folder that holds the bitmaps and be done with it. When you want to have full control you can always set it up manually like the screenshot, but 99% of the time I'd be happy just to simply get it as it looks in substance painter.

2017-11-03, 10:42:42
Reply #5

Nejc Kilar

  • Active Users
  • **
  • Posts: 867
    • View Profile
    • My personal website
It's not simply plugin in a few maps into to a corona material, see attached image. And some bitmaps need gamma=1 others 2.2 etc..  Sure it's not rocket science when you know the trick and use a template in a material lib but having a dozen of these materials in a scene makes it hard to manage. Part of that is to blame on the SME itself because it can't make nested networks so there is no way of hiding parts out of view.

I had to write a few scripts to manage all the bitmaps. Applying a different texture set, or a new one, involves updating 5 bitmaps and maybe fine tune a few parameters.. mind numbing.

Not sure what a good solution might be but ideally I'd just like to get what I'm seeing in substance painter into the VFB without all this.  Just point something to a folder that holds the bitmaps and be done with it. When you want to have full control you can always set it up manually like the screenshot, but 99% of the time I'd be happy just to simply get it as it looks in substance painter.

I might be wrong but isn't that why .sbsar files were introduced? There is a Substance engine bridge that lets you open Substance files directly and if you've set them up correctly in SP / SD it should translate over... I haven't tested it too much because of the reasons from my first post but...

2017-11-03, 10:56:19
Reply #6

JCdeBlok

  • Active Users
  • **
  • Posts: 85
  • Jonathan de Blok
    • View Profile

I might be wrong but isn't that why .sbsar files were introduced? There is a Substance engine bridge that lets you open Substance files directly and if you've set them up correctly in SP / SD it should translate over... I haven't tested it too much because of the reasons from my first post but...

They are handling the integration themselves now, much better. The plugin linked to in the forum supports all the latest sbar files.

https://forum.allegorithmic.com/index.php/topic,14223.0.html

But sbar gives the same problem as substance painter. They basically both output a bunch bitmaps. One thought the sbar loader/engine and the other simply using baked out bitmaps. And sbar being even worse since they are not always setup to be compatible with Corona directly requiring even more hassle.  ( metal/rough vs spec/gloss)

2017-11-03, 22:17:29
Reply #7

Njen

  • Active Users
  • **
  • Posts: 518
    • View Profile
    • Kickstart Cyan Eyed!
It's not simply plugin in a few maps into to a corona material, see attached image. And some bitmaps need gamma=1 others 2.2 etc..  Sure it's not rocket science when you know the trick and use a template in a material lib but having a dozen of these materials in a scene makes it hard to manage. Part of that is to blame on the SME itself because it can't make nested networks so there is no way of hiding parts out of view...

Your original comment was that using outputs from Substance was 'way to convoluted', when in fact it might take all of 60 seconds to plug in a few maps and change a couple of settings. Which doesn't seem convoluted to me at all, and seemed to me, to be the main point of your post.

However, if you had said something like 'is there any way to make current setup even easier', then that is an angle we can happily discuss.

By the way, your setup is incorrect:
* You can simplify your map outputs by using a 'base colour' map, instead of separated diffuse and reflection maps. Then plug the base colour map into the diffuse slot of the dielectric, and the reflection slot of the metallic (through a falloff map).
* The glossiness maps should not be put through a falloff map, but should plug straight in to the glossiness slot.
* The falloff map plugs into the reflection slot of the metallic surface (as mentioned in the first point).
* The metallic surface should get no diffuse, so unplug the input and make sure the diffuse is pure black.
* Make your metallic surface the base surface and invert your metallic map. Dirt/rust/paint/etc. is always on top of metal, not the other way around.
Please support my Kickstarter for my animated film, Cyan Eyed (rendered in Corona)!

2017-11-04, 10:43:53
Reply #8

JCdeBlok

  • Active Users
  • **
  • Posts: 85
  • Jonathan de Blok
    • View Profile
I made that setup following the explanation in the article linked in my first post. But if it's indeed not correct that sort of proves my point doesn't it :) 

Maybe one of the render developers can have a go at it and create a basic material setup that is technically correct and yields correct result.

2017-11-04, 11:11:12
Reply #9

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 6251
  • Let's move this topic, shall we?
    • View Profile
    • My Models
* Make your metallic surface the base surface and invert your metallic map. Dirt/rust/paint/etc. is always on top of metal, not the other way around.

I could be wrong, but i don't think that order matters in layered/blend materials. Renderer just blends several materials by greyscale masks and not stacks them on top of each other. It doesn't matter if operation will be A/C+B/C or B/C+A/C (don't kill me if i got the math wrong :] )
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2017-11-04, 16:31:18
Reply #10

Juraj Talcik

  • Active Users
  • **
  • Posts: 3932
  • Tinkering away
    • View Profile
    • studio website
Well, option to have principled/PBR shader with Metallic/Roughness input was requested 3 years ago.

I guess we'll get there...eventually ;- )

(Vray/F-Storm don't have it either)

And anyway, you can ouput Spec/Gloss setup which will make it rather fast. Dubcat's guide goes over the fine points of difference for those who care and most importantly, those who want to create flexible shader not just direct input.
talcikdemovicova.com  Website and blog
be.net/jurajtalcik   Our studio Behance portfolio
Instagram   Our studio Instagram, managed by Veronika

2017-11-04, 20:28:55
Reply #11

Njen

  • Active Users
  • **
  • Posts: 518
    • View Profile
    • Kickstart Cyan Eyed!
* Make your metallic surface the base surface and invert your metallic map. Dirt/rust/paint/etc. is always on top of metal, not the other way around.

I could be wrong, but i don't think that order matters in layered/blend materials. Renderer just blends several materials by greyscale masks and not stacks them on top of each other. It doesn't matter if operation will be A/C+B/C or B/C+A/C (don't kill me if i got the math wrong :] )

You are correct, it technically doesn't matter, though it just makes practical sense to have the metal on the bottom, as that what happens in real life, then simply blend on all of the extra dielectrics you want. A layer of dirt, then a layer of fingerprints, etc.
Please support my Kickstarter for my animated film, Cyan Eyed (rendered in Corona)!

2017-11-05, 17:46:30
Reply #12

Juraj Talcik

  • Active Users
  • **
  • Posts: 3932
  • Tinkering away
    • View Profile
    • studio website
But is there some priority order or not?

What happens if two blends feature the same mask. Which one gets blended in ? The higher one ?
talcikdemovicova.com  Website and blog
be.net/jurajtalcik   Our studio Behance portfolio
Instagram   Our studio Instagram, managed by Veronika

2017-11-15, 02:01:27
Reply #13

RobH2

  • Active Users
  • **
  • Posts: 13
    • View Profile
export textures with Corona preset (just make sure to use dubcat's preset...

Where does one find Kim's preset? I can't find it anywhere.


2017-11-15, 09:46:57
Reply #14

MartinBrinks

  • Active Users
  • **
  • Posts: 29
    • View Profile
    • martinbrinks.com
Use the link in the first post, which will lead you to Dubcat's excellent post. The preset is at the end of that one.