The exporter gives the user a ton of options, but I think a few of them can be simplified.
[X] There are two separate file -> export entries, one for glTF and one for GLB. The Blender devs asked us to combine this into a single menu entry, so the choice would migrate to the export options panel. The default would be GLB, to produce a single file for non-power users.
[X] Embed buffers, embed images - These shouldn't be shown for GLBs, and I'm not sure we need to offer this for text glTFs either. If we do, perhaps there could be a combo box for "Export type" with three options [ Binary GLB, glTF Embedded, and glTF Separate ]
[X] Strip whitespace - Don't offer this. Automatically strip whitespace for GLB, don't strip it from glTF.
[X] Max indicies and Force Max indicies - Let's get rid of these. If we really need to keep them they can be hidden behind the "experimental" flag in user prefs. But really the extension should just automatically do the right thing here (16 for smaller, 32 for larger meshes). Artists shouldn't have to think about this stuff.
[X] Export Tangents, export Morph Tangents - Currently these default to True, I think we can switch them to False. Most viewers work fine without tangents, for example the Damaged Helmet model works most places without tangents.
[ ] Export all layers - See https://github.com/KhronosGroup/glTF-Blender-IO/issues/193#issuecomment-453543304
[X] Apply Modifiers - Should this default to True? Or does that mess up skinning if true? (comment)
[X] Save settings pushpin - Let's change the pushpin to a traditional checkbox. It could be renamed "Remember settings" with description "Store glTF export settings in the Blender project."
[X] Infinite perspective cameras - Let's remove this.
/cc @donmccurdy Thoughts on all this?
EDIT: Edited by @donmccurdy to add infinite perspective cameras to the list, and update status of other items.
Embed buffers, embed images
I like the idea of just having a dropdown. Suggested naming:
.glb).gltf, .bin, + images)I agree with all the other suggestions, except maybe the last two. I'm not sure about Apply Modifiers. FBX defaults to true, COLLADA defaults to false. Probably we should just test some examples. I'd also like to be sure that applying modifiers doesn't overwrite the open scene.
The save settings pushpin has been a topic of some debate 馃槄. Might be nice to ask Blender devs what they suggest on this... I know another suggestion had been to persist the settings at the application level, rather than in the Blender file.
I'm also a bit undecided about the "infinite perspective" option. It feels like that is just there to help us test the feature, and we shouldn't be injecting features Blender doesn't have. Maybe this is similar to the indices type options.
If we really need to keep them they can be hidden behind the "experimental" flag in user prefs.
Should we separate "experimental" from "advanced" here? Advanced things could simply be hidden in a folder or tab in the normal export menu. I do think non-ratified extensions should continue to be buried behind a user preferences setting, though.
I know another suggestion had been to persist the settings at the application level, rather than in the Blender file.
In my personal usage, the main thing I like to save is the copyright banner. The banner is different per-model, so shouldn't be saved at the app level I think.
I'm good with completely removing the "infinite perspective" option along with the max indicies options.
We are fine independent in which direction this go. We will more focus on the bugs, so I assigend the taks to you guys.
Would you mind removing the uint8_t option for the index buffer? Graphics APIs support only uint16_t and uint32_t. https://github.com/KhronosGroup/glTF-Blender-IO/blob/3bf29638524baa3bdda3105c8b4047355799cb3e/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives.py#L76
I'm surprised that's still there. Yes it needs to be removed.
Removed in #201, thanks @klacansky.
Just wanted to chime in as I originally did the 'save settings' in the old exporter (heavily inspired by the three exporter).
To me this is a MUST HAVE feature. We use glTF export for so many different kind of files with different export requirements, that keeping these variations in operator presets (and remembering which preset to use on every export) just does not work.
Btw. I currently don't see the 'save settings' anywhere in the UI of the new plugin (in wither 2.79 or 2.80), did it somehow disappear?
Except if I didn't understand something, but you have now Operator Presets that can be added to store different export variations. This is the standard way of doing in Blender
Operator presets don't work well for this. Imagine you have 100+ different files with let's say 20+ different kind of export settings. You would then have 20 different operator presets, and you would have to remember to use the right preset everytime you export a file. Also if another person joins your team, how do he/she get those presets, not to mention if file 37 and 84 needs to have another set of options, how do you manage that kind of change with a team?
Having the ability to save settings along with the blender file solves all this :)
FWIW: We had this same discussion when adding this to glTF-Blender-Exporter: https://github.com/KhronosGroup/glTF-Blender-Exporter/pull/185
@pjoe The settings were lost in #159, and an issue was created for presets in #161, implemented in #162.
I would like to get saved settings back, and your PR #267 makes it look straightforward. One thing we need to be careful of, is there was a lot of user confusion surrounding the previous implementation, possibly because of the wording and the unorthodox pushpin mechanism, so we should be careful not to bring that back.
But I can say from practical use, I have a lot of Blender projects that need different settings enabled or disabled during glTF export, and remembering to select the correct preset from a list for each and every export iteration is painful and error-prone. So I would like to see this feature come back.
@emackey the code was still there, only the UI was lost :)
In #267 I've added the UI back as a checkbox as suggested in original entry of this issue. This is how it looks in 2.80:

I don't have specific preference for how exactly the UI should look, I just know that for me it's a very important functionality that greatly impacts workflow :)
the code was still there, only the UI was lost :)
I noticed.
Can we move the copyright to the bottom, with the remember settings just above? It will look less disorganized.
@emackey Done:

We've done almost everything described here. Could we start a new issue to track the preferred layer export process? Oh I guess https://github.com/KhronosGroup/glTF-Blender-IO/issues/193#issuecomment-453543304 tracks that.
For "Apply Modifiers", it now skips Armature modifiers, so I think it would be OK to have it default to true now.
I'll close this soon.
Quick question: Does anyone ever turn off the "Materials" checkbox in the "Materials" section? This looks like it would export a glTF with no materials at all, is that useful?
Because if not, the entire "Materials" section of the UI can be removed, and that would make things a lot less cluttered.
@emackey I often use no materials option to debug model (or exporter) issues, so would prefer to keep it
@pjoe OK, thanks.
Yeah, I disable materials sometimes as well for debugging, and could definitely imagine using it for complex materials that can't be represented in glTF, just to bypass that whole part of the export, and load materials separately.
That said, Materials could just be a checkbox in the _General_ tab, rather than a tab of its own, if we have no other material-related options needed.
@donmccurdy I have a PR for that in #298.
Just saw that, thanks!