Author Topic: Preview Unity HDRP materials in SD  (Read 1687 times)

I've started switching over to using HDRP in Unity. (However, note that this is not a question about integrating with Unity.)

The big difference with HDRP, in terms of Substance Designer, is that the HDRP workflow expects a new Mask Map texture, which combines Metallic, Smoothness, AO, and Detail into a single texture. This page explains how to set that up:

https://support.allegorithmic.com/documentation/integrations/working-with-hdrp-lwrp-172818842.html

However, upon doing this, I no longer get an accurate 3D View preview of my material, as the Metallic and Smoothness outputs no longer exist. How can I adjust the 3D View settings to have it pull the R channel from my MaskMap, and treat it as the Metallic channel, etc?

I tried clicking the "Add" button in the Material dropdown of the 3D View. However, it simply asks me to name the new material, but then nothing happens after. Is there a way to map the MaskMap output into the typical single-output channels for the purposes of previewing?

Thanks.

I tried the following: For my MaskMap output node, I set its usage to an RGBA type called MaskMap, but I also added three more Usage entries, one for metallic, ambientOcclusion, and roughness. However, despite those usages existing on the output node, the 3D View doesn't use them. See attached for example. The only way I seem to be able to get metallic and roughness to display in the 3D view is to have distinct output nodes for those, which isn't ideal since I don't plan on using those outputs for any other purpose.

What is then purpose of multiple usages on an output node if they don't get picked up by the 3D view? Is what I'm doing in the screenshot reasonable?

I tried the following: For my MaskMap output node, I set its usage to an RGBA type called MaskMap, but I also added three more Usage entries, one for metallic, ambientOcclusion, and roughness. However, despite those usages existing on the output node, the 3D View doesn't use them. See attached for example. The only way I seem to be able to get metallic and roughness to display in the 3D view is to have distinct output nodes for those, which isn't ideal since I don't plan on using those outputs for any other purpose.

What is then purpose of multiple usages on an output node if they don't get picked up by the 3D view? Is what I'm doing in the screenshot reasonable?

Hi,

We don't fully support HDRP just yet, however you can use the substance outputs. You will need to make a mask output as shown here in our docs. https://support.allegorithmic.com/documentation/pages/viewpage.action?pageId=172818842

Our integrations do not support adding channels to the outputs as you showed in your image. Instead, you need to leave the channel as RGBA and use the rgba-merge node.

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

Sorry for the confusion, Wes, but this wasn't a Unity integration question. (FWIW, that's been working fine for me, having used the Mask Map approach you lined in your reply.)

The issue I'm having is that within Substance Designer itself, I'm unable to get a good 3D View preview of my substance, because the Mask Map output doesn't map into Metallic, AO, Detail and Smoothness in the 3D View.

I've attached two screenshots to hopefully explain this better. The "Current" screenshot shows what I'm currently doing, where I've made a custom node that generates the Mask Map, but also passes through the Metallic, Smoothness, and AO channels. Right now I'm connecting those Metallic, Smoothness, and AO channels to outputs, and the 3D view looks correct. (Proper glossiness on the right parts.)

But it seems wasteful and unnecessarily complex to manually wire up the Metallic, Smoothness, and AO outputs when I won't actually be using them in Unity. So the "Ideal" screenshot shows me having only three outputs: Base Color, Normal, and MaskMap. And while this is fine for Unity, you can see that the 3D view in this screenshot looks bad. None of the metallic or smoothness of the MaskMap texture is applied in the 3D View.

So, the question is how I can get the 3D view in SD to read the R channel of my maskmap for metallic, and the A channel of my maskmap for smoothness? I tried adding additional usages to my maskmap output (as shown in the "Usages" screenshot), but that doesn't case the 3D view to use it.

Thanks.