Blender 2.8 Transparent GLTF/GLB

Does anyone have experience with successfully exporting transparent materials from Blender 2.8?

I’ve read on various forums that this should be possible however, I’ve tried several different material configurations in Eevee and have had no luck yet.

Any ideas welcomed. Thank you.

Did you change blend mode ?

(edit : and remove show backface also)

1 Like

you should have something like this at the end

1 Like

Thanks Warnotte. That works in Blender however it appears opaque when exported as a .gltf/.glb

Have you tried exporting it as a .gltf from Blender?

Thanks

1 Like

No i din’t tried. Are you sure, the viewer you use for glb/gltf has the ability to display transparent and so on ?

I’ve tested it in https://gltf-viewer.donmccurdy.com/ and https://sandbox.babylonjs.com/ both of which support transparency I believe. After some research it seems I need to be working with the alpha channels…

You’ll want a Principled BSDF material using an alpha channel and either the “Alpha Blend” or “Alpha Clip” blending mode enabled. That exports correctly for me in a recent Blender 2.8 beta:

glTF currently supports a subset of the Principled BSDF values:

  • Base Color
  • Metallic (B channel)
  • Roughness (G channel)
  • Normal
  • Tangent
  • Blend Mode (Opaque, Alpha Blend, Alpha Clip)

Documentation in progress: https://developer.blender.org/D4082

3 Likes

Hi Don, Thank you for your reply. Could you please send a screenshot of the node graph you’re using? I’m not having much luck.

Only the Principled BSDF node is needed, but you’ll also want to set Alpha Blend mode in the material settings sidebar, per screenshot above.

The opacity shown in the Blender viewport seems to be independent of the alpha value, but the alpha value will be exported correctly. I’m not sure if that’s a bug in the 2.8 beta or something else. Per https://developer.blender.org/T52189, this is a current limitation in Blender.

I’ve used just the Principled BSDF and Material Output nodes and can’t understand why this won’t work. The transparency appears in Additive Blend Mode but not in Blend or Clip.

I’ve attached the .blend file.

transparency-test.blend (698.1 KB)

Hm, the model you attached does not show transparency in the Blender viewport, but when I export (from a recent 2.8 beta) it does look correct:

In that case I’m thinking it has to be that my export settings are incorrect or my version of Blender is causing the issue. I’m on version 2.80 2018-11-30.

I’ve tried various export settings for both .gltf and .glb. I’ve attached the latest unsuccessful attempts. Ideally I’d like to export as .glb.

Oh, yes the latest Blender 2.8 beta has a lot of updates since November — I’d suggest trying to reinstall it.

In particular I think this issue was fixed in December: https://github.com/KhronosGroup/glTF-Blender-IO/issues/105.

Success! That was indeed the issue. As soon as I used a later version of Blender 2.8 it worked. Thank you

This was very helpful to me. Thank you, exported .glb is fine.

2 Likes

I’m still experiencing this issue.
I have used current stable 2.83 and also 2.90 alpha to export gltf and glb… I’ve tried all the suggested material setups but I still can’t seem to achieve any transparency. I’m using this site to preview my models before uploading to an AR test site:
https://gltf-viewer.donmccurdy.com/

Any ideas what I might be doing wrong?

You’ll likely need to share more details to get help — can you share a .blend file, ideally, or perhaps a screenshot of the material configuration? What is the blend mode set to?

Same in my case.
I explained it in more detail here - https://stackoverflow.com/q/62236739/5675325

I am experiencing issues with transparency like this as well. I had been seeing neat transparency in Blender 2.81 but then it was opaque in GLTF viewer. When I updated to 2.83, I got transparency in the GLTF viewer but it wasn’t the same.

In GLTF viewer from 2.83

When I connected both the color and the alpha from my image texture it seemed to work. Not quite sure why…but Hooray!

image