1
$\begingroup$

currently, glTF appears to need textures directly setup with the principled bsdf except for baked ambient occlusion(AO) node. This is problematic because it doesn't allow for a consistency in appearance with baked AO. Is it possible to export all my textures only through the glTF settings group node?

That way I can have a separate setup to make it look how it should in both Blender and the game engine, mainly the baked ambient occlusion map.

Here is a picture of the setup I think would make sense, but I see no place of suggesting it or why this wouldn't fit to do.

enter image description here

Here is the inside of the group to deal with the occlusion: enter image description here

The guide for exporting options seems limited to this page: https://docs.blender.org/manual/en/2.92/addons/import_export/scene_gltf2.html

I don't see a place to ask questions or contact developers on the Github page. If anyone has any suggestions, please share. Thank you.

$\endgroup$

1 Answer 1

0
$\begingroup$

In general, suggestions can be made using the glTF-Blender-IO Issue Tracker, which tracks feature requests as well as bugs.

You might be surprised to find that this, or some variation of something similar to this, might already work, although it's been deprecated for quite some time.

So for a bit of history here, before the current glTF-Blender-IO project came to be, there was a predecessor project called glTF-Blender-Exporter that used a Blender 2.79 node group called "glTF Metallic Roughness" that looked like this:

glTF Metallic Roughness screenshot

An obsolete .blend project with this grouping is still available from the archived GitHub project. It's similar to the node you've shown above, except the Principled BSDF node is included inside the group.

This node grouping proved too cumbersome for many users to learn, and it was eventually abandoned in favor of using the Principled node directly. But last I checked (and it's been a while), there's still some legacy code in the exporter that supports some portion of this for the sake of backwards-compatibility. That code was extended to support the Occlusion map (on glTF Settings), because Occlusion is the only setting here that isn't available anywhere else that the glTF exporter can find.

So if you bring the Principled BSDF inside your group node, and use some of the names listed here, you might be able to find inputs that still work. One thing to be careful of: the ones named "Factor" only accept un-connected colors, and the non-factors only accept textures. Also, newer glTF properties such as ClearCoat and Transmission were only ever connected to Prinicpled BSDF, not the obsolete group node. The other thing to be aware of is that this system of material design historically produces strong opinions in users; some have publicly lamented its passing, while many others cheered its demise.

$\endgroup$
2
  • $\begingroup$ This is the help I was hoping for. Thanks! Is there any direction for the exporter to allow for consistent appearance in Blender? Having an AO input in the principled bsdf seems like the best solution to me. I'll experiment with this in the meantime. $\endgroup$
    – Zak Nelson
    Oct 19, 2021 at 22:49
  • $\begingroup$ It would be great to have AO on the Principled BSDF, but only Eevee would need it or use it, not Cycles. Still, maybe they'll add it someday. The implementation you've shown here is quite aggressive, and glTF calls for AO to only affect indirect lighting contributions, not all of baseColor etc., so a built-in implementation would be better than anything we can do with external nodes like this. $\endgroup$
    – emackey
    Oct 20, 2021 at 14:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .