Author Topic: Designer Roughness tu Unity Smoothness  (Read 7926 times)

Hi to evribody, can somebody explain me what there’s wrong?
I made with Designern a material which
I want use inside Unity but the Roughness isn’t considered from Unity.
I attach some image.
 :o
Thank you all





Hey, you can directly export in metal/roughness from SD and it will be automatically converted to metal/glossiness in Unity.

I'm having the same problem here (Win10, Unity 5.5.2f1, SD 5.5.3).
The import of roughness into Unity is not working out of the box (see attached screenshots).
I mad a very simple test, just the standard (PBR metallic/roughness) outputs with constant color maps, a checker map to the roughness output (and some noise like texture to an additional AO output). Importing into Unity will not show the checker pattern.

Can someone explain how to set up the SD outputs so that the roughness is correctly imported into Unity (and the SD preview still displays the correct shading)?
That would be great!
 
Last Edit: March 24, 2017, 03:34:23 pm

Hi, I was just about to make a thread for this, but this seems to be the exact issue I'm having. Everything looks great in Substance, but importing into Unity doesn't include the smoothness in the metallic map's alpha channel as (I think) it should. From what I've read the import process should automatically invert the roughness map and put it in the metallic map's alpha. I've included some screenshots and the substance file I'm using in case it helps.

Windows 10, Unity 5.5.0f3, Substance Designer 6.0.1 (with Substance Engine v5 compatibility mode)

Substance file: https://drive.google.com/file/d/0B6mNcFDYmc0NZE9uLVFkcnhDakE/view?usp=sharing






The way I'm able to export to Unity from Substance is using this node setup that I created. It creates a packed metal/smoothness map on the side.

https://share.allegorithmic.com/libraries/2609

In my pipeline I publish the Sbsar, open it in player, and export the Base Color, AO, Height, Normal, and Metal/Smoothness maps - unchecking the Metal map and Roughness map. Works every time for me, check it out.

It would be nice if someone of Allegorithmic could comment on this...
Is this a (temporary) plugin bug? Or is it a general incompatibility? Or are we doing something wrong??

In their Unity tutorial they explicitly claim that we should simply use the metallic substance template and the plugin will do the rest...

This seems to be some kind of bug...
I've got one substance that is importing correctly (using physically based - metallic template, no special outputs set up). Others do not import correctly. I will try to figure out, what might cause this.

OK, I guess I have found out what causes this issue:

Make sure to put a grayscale image into the roughness output!
If the image data contains color information, the import into Unity seems to be broken. I have attached a simple test substance to verify this (see attachment).

Does somebody know how to file a bug report? The link in the Help menu (Report a Bug...) just points to the online documentation...
Last Edit: March 27, 2017, 10:21:20 pm

That's good to know, but I wouldn't really consider that a bug. Since roughness only uses one channel, it would be wasteful to plug a multichannel texture into the roughness output anyways.

Hey, this was indeed the issue, but this can't be a bug: outputs are defined by what you plug inside and the usage you define. What is "wrong" for Unity can be right somewhere else. you can even imagine having multiple usages in a color output, each info being stored in a single channel.

Well, I'm not quite sure if I would say this is a 'feature'...

Sure, as fare as Desiger is concerned, there is nothing wrong in passing color information into a roughness output - but:
the point in this case is that the Unity plugin missbehaves. The Unity plugin knows how a roughness channel should 'look like' in order to work correctly. So I would expect the plugin to take all information from all channels of a roughness map and boil it down into a single grayscale channel which it then blends into the alpha of the metallic. Done.
Why? Well as the user has created a roughness map - obviously they want to provide some roughness information. Silently dropping this information completely (as the plugin now behaves) is likely never the intention of the user.

Al least I would expect the plugin to protest and signal a "severe missconfiguration of the roughness channel".

The Unity plugin knows how a roughness channel should 'look like' in order to work correctly. So I would expect the plugin to take all information from all channels of a roughness map and boil it down into a single grayscale channel which it then blends into the alpha of the metallic. Done.

Al least I would expect the plugin to protest and signal a "severe missconfiguration of the roughness channel".
It's not exactly how it works: there is no good or bad roughness values, they are just interpreted differently.
Then we had to define a convention which is: as most of the Substances are done in metal/roughness model, Unity automatically converts it to it's own model when imported.

Well, I'm not quite sure if I would say this is a 'feature'...

Sure, as fare as Desiger is concerned, there is nothing wrong in passing color information into a roughness output - but:
the point in this case is that the Unity plugin missbehaves. The Unity plugin knows how a roughness channel should 'look like' in order to work correctly. So I would expect the plugin to take all information from all channels of a roughness map and boil it down into a single grayscale channel which it then blends into the alpha of the metallic. Done.
Why? Well as the user has created a roughness map - obviously they want to provide some roughness information. Silently dropping this information completely (as the plugin now behaves) is likely never the intention of the user.

Al least I would expect the plugin to protest and signal a "severe missconfiguration of the roughness channel".

Hi,

Thanks very much for your feedback on the plugin. I will ask the devs if there is a way we can make sure the data is grayscale in the output.

From a workflow perspective, the plugin looks at the usage "roughness" and that is how it knows what to do with the output. We are not checking for grayscale information. For roughness, it would always be incorrect to use a color image as roughness is only read as value and not color. I will check to see why Designer allowed this work.

Cheers,
Wes


Head of Substance Demo Art Team
the3dninja@adobe.com
Twitter: The3DNinja