question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Supporting occlusionTexture in Blender 2.8

See original GitHub issue

I’m struggling to decide how to handle AO (occlusionTexture) in Blender 2.8. Overall the move to Principled BSDF is great, but it has no AO input.

One option would be to adopt a convention such that a disconnected Image Texture node, used in the same material as a Principled BSDF node, will automatically be treated as AO if (a) the node is named “AO”, or (b) the node uses a texture suffixed with “_ao”. Presumably the Importer and Exporter could use the same convention.

Other ideas? In general I don’t want to hack glTF features into this exporter when Blender doesn’t support them, but AO is a pretty critical feature…

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:1
  • Comments:42 (34 by maintainers)

github_iconTop GitHub Comments

6reactions
donmccurdycommented, Dec 12, 2018

Are glTF 2.0 materials fundamentally so different from Principled BSDF, other than AO? If there were significant inconsistencies in the materials such that Blender Principled BSDF materials cannot accurately-enough match the glTF 2.0 spec I could be convinced that glTF-specific nodes would be a worthwhile addition. But otherwise, I’m much more interested in exporting native Blender features to native glTF than in asking Blender artists to use new format-specific materials, when Principled BSDF is already new, well-supported, and a rather good fit for glTF…

The problem as I see it is that Blender has very nicely-designed workflow for baking AO, and no mechanism at all for using or exporting that AO, except to export the image on its own. If we’re going to ask a favor of the Blender developers, I’d prefer to ask them to (a) allow AO input to Principled BSDF, or (b) provide some other mechanism of identifying a texture as a source of baked AO.

1reaction
emackeycommented, Sep 3, 2019

@ogierm Thanks. We considered that node, but it’s using the spec/gloss PBR workflow, which is an alternative to what now appears to be the more popular PBR workflow of metal/rough. We needed a solution for metal/rough PBR in Blender 2.80, and ultimately we went with a custom node for it.

The result is documented here in Blender Manual. Essentially a custom node group called glTF Settings is created, with an Occlusion input on it. The glTF format expects the red channel to contain the occlusion map.

The glTF importer will create a custom node if one doesn’t already exist by this name, when importing an occlusion map. Here’s a link to the Python code that does it.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to easily add ambient occlusion to models in Blender 2.8
Steam Wishlist: https://store.steampowered.com/app/816430/Radical_Relocation/Game Demo: ...
Read more >
Apply Albedo & Ambient Occlusion Maps (In 12 ... - YouTube
Blender 2.8 : Principled BSDF - Apply Albedo & Ambient Occlusion Maps (In 12 ... for anyone who would like to simply support...
Read more >
Blender 2.8 : Ambient Occlusion Maps In 20 Seconds!!! (Gimp
Have you ever wondered how to create the infamous shadow map? Well, prepare to wonder no more! In exactly 20 seconds, you'll be...
Read more >
Blender: Texturing Ambient Occlusion Maps - (In 2 Minutes!!)
Texturing an AO map is pretty easy, but setting it up can be a challenge if you've never done it before - So,...
Read more >
blender 2.8 texture maps, normalmap, ambient occlusion map ...
blender 2.8 texture maps, normalmap, ambient occlusion map, light map, realistic material.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found