Alpha/Opacity, Displacement, Parallax and AO input for the Principled shader?

I really like the idea of having one shader that does all the work instead of mixing multiple shaders. It’s saves a lot of time and is easier to understand for beginners.

That’s why I love the Principled shader in Cycles and in Eevee in the upcoming Blender 2.8.

However, I am missing 4 additional inputs for shading in the Principled shader. The first one is the alpha or opacity value. There is a way around for this, I know, but I’d love to use my opacity greyscale texture and just plug it right into the opacity input of the Principled shader without any mixing of multiple shaders. Same goes for Ambient Occlusion (AO), Parallax and Displacement Mapping.

Is there a hope, that the Principled shader will have these inputs built in in the future, so it becomes the one big shader for everything? That would make shading in blender so much faster and easier.

Opacity is planned to be added. Displacement already has a dedicated socket on the output node, and parallax if support would likely be added in the same place. I’m not sure adding this to the Principled shader would make things easier.

Ambient occlusion could be added for EEVEE at some point. At the moment EEVEE does not use baked AO maps, but rather computes it on the fly which is nicer for interactive editing.

3 Likes

Thanks for the quick reply.

It’s great to hear that Opacity is coming. Also I didn’t know that Displacement already existed. I guess I didn’t notice it all the time since I’m using the Principled shader. Parallax would be a great way to save render time because it doesn’t need very high polygons to create depth like Displacement does. Same goes for Ambient Occlusion. I know it’s not necessary, because Cycles and Eevee are rendering the lightnings in realtime, but it would be a nice option if you want to have shorter render times but you don’t want give up on the quality.

Anyway thank you for the information. I really appreciate it.

Ambient occlusion could be added for EEVEE at some point. At the moment EEVEE does not use baked AO maps, but rather computes it on the fly which is nicer for interactive editing.

Is opacity still planned, and are there plans for baked AO in EEVEE in the short or long-term? We’re talking through import/export of these features in the glTF exporter (see glTF-Blender-IO#114 and glTF-Blender-IO#123) and would like to make sure we taking an approach that matches plans for the Principled BSDF node. :slight_smile:

It’s still like to add opacity, just not sure when I’ll get to it. I’m not aware of concrete plans to add baked AO in Eevee.

1 Like

Thanks!

For now we are recommending the following for glTF export:

  1. Use the Base Color ‘alpha’ channel and Alpha Blend or Alpha Clip modes.
  • This works great for export, but it’s a bit weird that the viewport shows ~50% opacity regardless of the actual alpha value.
  1. Create a custom glTF Metallic Roughness node with an Occlusion socket for AO.
  • Has no effect at all in the viewport, but realtime AO can be enabled in the render settings anyway. We discussed various alternatives to this, but they were all unintuitive, incorrect, and/or difficult to parse at time of export.

This is documented at https://docs.blender.org/manual/en/dev/addons/io_gltf2.html.

To be honest, parallax and opacity will be fine. Maybe I was expecting too much. Since Eevee does realtime AO, I guess baked AO’s are unnecessary anyway. Also, the Displacement thing was my bad. I didn’t knew that the displacement could to be done with the Material Output.

Sorry for digging that old topic but: EEVEE’s Metalness workflow shaders are still lacking AO input and i’ve didn’t seen even any mention of it. And it used to be implemented before.

In early beta versions of 2.80 there was Metallic BSDF, that do had properly working AO input.


And EEVEE do have still Specular BSDF with working AO input, but metallic BSDF is no more.
Could be AO part of metallic shader added to principled bsdf for eevee? Or it have to be redone?


Realtime screen based AO is okay, but it does not give results achievable with baked ao. Unreal/Unite/etc do have both AO as shader’s input and as post process.

Any news on that topic?

I’ve stumbled upon this now too

What are we supposed to do with baked AO maps, mixing it with multiply never felt right when its meant to be AO like the Specular shader has.

I mix mine with RGB mix with diffuse with overlay.