Author Topic: Substance that can export Unity Metal/Smoothness from Player  (Read 2547 times)

A while ago I made a feature request for an option to export the proper metallic/smoothness file from Substance Player, so my clients could modify the material in player and export the correctly packed maps they needed to go straight into Unity. This allows them to choose whether they want smaller file sizes and longer loads (substance) or larger file sizes and faster loads (baked maps).

Now that I'm a bit wiser I see that a change to Substance Player itself isn't necessary. Only another output is needed for this operation. This output will be included with all future Unity substances I produce. I specifically used the "Any" output and got a proper result.

In the image below the roughness is inverted and then merged with the metallic map. I used the metal output for all three RBG slots despite only the RED channel is used for the metallic map. The Blue and Green channels are wasted, they are not used by Unity. I passed the metallic values to Green and Blue anyways just to visualize a black and white result.

This "Any" output is not visible in Unity. It is visible in Substance Player, where it is needed. The "Any" output I labeled as "MetalSmoothPack" can be exported from Player and the textures can then be placed directly into Unity.

Just posting this solution here in case anyone was wondering how to do this.


I've decided to share my default Unity 5 Metallic Roughness substance template that I use for every new Unity Substance I create. Its not perfect but its getting better! Should be useful to anyone looking to organize their workflow into Unity. It is designed as a clean output system that also allows access to a packed Metal/Smooth map output.

Something to note is the Ambient Occlusion from the normal map is by default set to 1px x 1px absolute and is not connected to the output. Once the height map is fully set up these nodes should be changed to Relative to Parent and connected to the output. I made it small and disconnected it because it can add a lot of processing time to any substance graph and should be saved as a final touch in this particular pipeline.

I've uploaded the template to Substance Share and will post a link to it here once it is approved.


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. I use this graph as a template for every substance I create for Unity 5.

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.

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. I use this graph as a template for every substance I create for Unity 5.

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.

Thanks very much for posting this solution : )

Cheers,
Wes

Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja