Author Topic: PBR in Unity.  (Read 22552 times)

This video goes over some of the PBR in Unity.

https://www.youtube.com/watch?v=9DmRNlIJIp0&list=LLG08EqOAXJk_YXPDsAvReSg&index=1

It looks like they don't have metal or roughness map for Unity PBR (smoothness slider?). Unless you can add as alpha channels to spec or something. Maybe there is an advanced PBR shader or something.

Hmmm - this Vid was posted already - but it was concluded, that Unity5 will have "metallic/roughness" workflow, aka "Disney"...

Cheers

Awesome.

Hmmm - this Vid was posted already - but it was concluded, that Unity5 will have "metallic/roughness" workflow, aka "Disney"...

That´s what I had hoped for as well - the system shown in the presentation seems very weird to me.

So we are going to use the Diffuse/Normal/Specular/Glossiness PBR model for Unity 5.

I personally liked the metallicity/roughness  PBR model much more, because it is easier to use and uses less resources (no RGB specular).

Any Specular/Glossiness specific tutorials, that you would recommend?

Here is, what I´ve found so far (Specular/Gloss specific), but it´s very complex, compared to the roughness/metallicity PBR model:
http://seblagarde.wordpress.com/2011/08/17/feeding-a-physical-based-lighting-mode/
http://seblagarde.wordpress.com/2012/04/30/dontnod-specular-and-glossiness-chart/
Last Edit: August 22, 2014, 01:25:49 pm

Or would you recommend first setting up a roughness/metallicity model and then just use the diffuse_metallic_roughness_to_diffuse_specular_glossiness node to convert it?

This would be the easiest workflow in terms of achieving the right values (given the conversion node works precisely as it should) and still keeping the intuitive roughness/metallicity approach for the artistic shading and texturing work.

But is it good practice to have all those roughness/metallicity graphs and then output to the Specular/Gloss PBR model?
Or should we use the diffuse_metallic_roughness_to_diffuse_specular_glossiness-node for the existing projects only - and set up future substances, that are meant to be used with the Specular/Gloss model with Specular/Gloss graphs as well?

Hello,

Unity 5 will be using a Spec/Gloss workflow for Unity 5. It is a derivative of Disney GGX BRDF.

They will be using some different terminology as to try and help bridge the gap from traditional map creation to PBR. For instance, they are using smoothness instead of glossiness or roughness. I feel this is not the best approach in terms of keeping true to the naming conventions already used in PBR workflows, but its not technically wrong either. PBR is more of a methodology rather than a standard. The map creation principles are the same and this provides the ability for PBR content to be authored in a consistent manner. I would have liked to see Unity use the same conventions as UE4.

However, the good news is our Spec/Gloss workflow works well with the Unity 5 PBR shader. Personally, I like metal rough much better, but we offer both workflows and our shaders are using Disney GGX as well. Its good that Unity is using GGX. I believe it is a derivative of GGX where they have made some custom tweaks, so we will need to see how it goes through the Unity 5 beta cycle. I've been testing the workflow and our spec/gloss PBR maps are looking good in Unity with a 1:1 rendering parity.

The Unity 5 standard shader is using the following convention.

Diffuse RGB (Albedo)
Normal RGB
Specular RGB (Smoothness map in Alpha of the specular map)

I'll definitely be making some new PBR videos.

Cheers,

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

Unity 5 will be using a Spec/Gloss workflow for Unity 5.

I'll definitely be making some new PBR videos.

Wes, thanks for the update. Will be looking forward to new PBR videos.

I also noticed in the unite keynote they were using spec/gloss and I was like FFFFFFFFFFFFFUUUUUUUUGHHHHHHHHH. Oh well. You can still create your substance using a metal / rough workflow, then use the Metal/Rough -> Spec/Gloss conversion node, correct?

You can still create your substance using a metal / rough workflow, then use the Metal/Rough -> Spec/Gloss conversion node, correct?

that´s possible, but if we expect to use the spec/gloss approch from now on (I am speaking of Substance to Unity), it seems to make more sense to setup the maps and shaders for spec/gloss right from the beginning (which brings us to the questions posted above).

I hope there is a way to work with the spec/gloss in such a intuitive manner as with roughness/metallicity...

They will be using some different terminology as to try and help bridge the gap from traditional map creation to PBR.

That´s also what I thought... weird.

They will be using some different terminology as to try and help bridge the gap from traditional map creation to PBR.



That´s also what I thought... weird.

I thought this as well. I don't agree with Unity's approach in doing this. I think they should treat it as a new workflow and use terminology that is more focused toward PBR workflows similar to how PBR was adopted in unreal.  I feel that by trying to "ease" the transition, it will only lead to further confusion as users may think they can use their current diffuse and spec maps with PBR shaders. As artists, we need think think differently how we author PBR maps.

PBR is more of a methodology than standard, but I wish they would have adopted metal/rough. I've been told they will support this later, but I'm not sure if it will happen. I think they should have fully adopted the PBR methodology as Unreal did and leave the legacy shader for those who would like to not use PBR. I think it's further confusing they are calling the PBR shader the standard shader. I think it might have been best to call the shader physically Based and call the regular shaders the standard name.

Cheers,

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

You can still create your substance using a metal / rough workflow, then use the Metal/Rough -> Spec/Gloss conversion node, correct?

that´s possible, but if we expect to use the spec/gloss approch from now on (I am speaking of Substance to Unity), it seems to make more sense to setup the maps and shaders for spec/gloss right from the beginning (which brings us to the questions posted above).

I hope there is a way to work with the spec/gloss in such a intuitive manner as with roughness/metallicity...

Yes, it is much better to author PBR maps for Unity using our spec/gloss template. Unity as well as Substance is using GGX BRDF, so for the most part, it comes down to workflow. In substance Designer, we can work with Spec/gloss just as intuitively as metal rough. I have an example where I was able to produce the same results using both workflows in SD. I can make a video showing how it works.

The good news is that our Spec/Gloss workflow works very well with Unity's Standard Shader. Although personally, I prefer metal rough ; )

Cheers,

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


I thought this as well. I don't agree with Unity's approach in doing this. I think they should treat it as a new workflow and use terminology that is more focused toward PBR workflows similar to how PBR was adopted in unreal.  I feel that by trying to "ease" the transition, it will only lead to further confusion as users may think they can use their current diffuse and spec maps with PBR shaders. As artists, we need think think differently how we author PBR maps.

PBR is more of a methodology than standard, but I wish they would have adopted metal/rough. I've been told they will support this later, but I'm not sure if it will happen. I think they should have fully adopted the PBR methodology as Unreal did and leave the legacy shader for those who would like to not use PBR. I think it's further confusing they are calling the PBR shader the standard shader. I think it might have been best to call the shader physically Based and call the regular shaders the standard name.

Cheers,

Wes


Totally agree.  All the different solutions each software/plugin company introduce just makes it another output to support.  I tested the SD spec/glossiness converter this morning and it works very nice.

A few weeks back I got a dropdown switch working in  a graph to select which PBR type to use in Unity, ie, Lux/Alloy.  Whilst it did work, it does become a more complex graph to edit if changes are required down the track.  Also, not all functions carry forward to the Unity Inspector which means all outputs for each PBR type are generated in Unity even though I tell them not to inside of SD.  Inside of SD they do not show when set invisible. 

What about SP? Should we start with a spec gloss if we are working toward unity 5 assets? Or should I work in metal roughness and convert when nessary.

It feels Unity is putting in PBR .5 shame really. And they are selling it as the new standard shader when it feels lacking. Perhaps they just wanted to keep it simple. But in the end its more confusing.

What about SP? Should we start with a spec gloss if we are working toward unity 5 assets? Or should I work in metal roughness and convert when nessary.

It feels Unity is putting in PBR .5 shame really. And they are selling it as the new standard shader when it feels lacking. Perhaps they just wanted to keep it simple. But in the end its more confusing.

We will be adding the Spec/Gloss shader to SP like it is in SD. It would be best to work with spec/gloss. We do have a convert option currently, but its not accurate. The ideal workflow will be to work with Spec/Gloss channels and the Spec/Gloss shader. Then the export from SP will export the gloss map in the alpha of the specular. This will all be in place before Unity 5 is out of beta.

Cheers,

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

What about SP? Should we start with a spec gloss if we are working toward unity 5 assets? Or should I work in metal roughness and convert when nessary.

It feels Unity is putting in PBR .5 shame really. And they are selling it as the new standard shader when it feels lacking. Perhaps they just wanted to keep it simple. But in the end its more confusing.

We will be adding the Spec/Gloss shader to SP like it is in SD. It would be best to work with spec/gloss. We do have a convert option currently, but its not accurate. The ideal workflow will be to work with Spec/Gloss channels and the Spec/Gloss shader. Then the export from SP will export the gloss map in the alpha of the specular. This will all be in place before Unity 5 is out of beta.

Cheers,

Wes

I am with you Wes... I personally prefer Metalness/Roughness for PBR. At the moment, I can't really use Substance Painter to paint my textures, because of the lack of custom shader support (I use Alloy in Unity/SD) and I do hope it comes about sooner than later.