FBX: Enable the Collection exporter feature #105273

Merged
Jesse Yurkovich merged 6 commits from deadpin/blender-addons:fbx-collectionexport into main 2024-04-16 05:13:36 +02:00
Showing only changes of commit eedc9f44ad - Show all commits

View File

@ -562,8 +562,11 @@ class ExportFBX(bpy.types.Operator, ExportHelper):
layout.use_property_split = True layout.use_property_split = True
layout.use_property_decorate = False # No animation. layout.use_property_decorate = False # No animation.
# Are we inside the File browser
is_file_browser = context.space_data.type == 'FILE_BROWSER'
export_main(layout, self) export_main(layout, self)
deadpin marked this conversation as resolved Outdated

The batch_mode and use_batch_own_dir properties drawn in export_main() should also only be drawn when is_file_browser because the new code in export_fbx_bin.py is only run when batch_mode == 'OFF' (the default value).

Changing the batch_mode to anything else I don't think makes sense for a Collection exporter.

The `batch_mode` and `use_batch_own_dir` properties drawn in `export_main()` should also only be drawn when `is_file_browser` because the new code in `export_fbx_bin.py` is only run when `batch_mode == 'OFF'` (the default value). Changing the `batch_mode` to anything else I don't think makes sense for a Collection exporter.
export_panel_include(layout, self) export_panel_include(layout, self, is_file_browser)
export_panel_transform(layout, self) export_panel_transform(layout, self)
export_panel_geometry(layout, self) export_panel_geometry(layout, self)
export_panel_armature(layout, self) export_panel_armature(layout, self)
@ -606,7 +609,7 @@ def export_main(layout, operator):
sub.prop(operator, "use_batch_own_dir", text="", icon='NEWFOLDER') sub.prop(operator, "use_batch_own_dir", text="", icon='NEWFOLDER')
def export_panel_include(layout, operator): def export_panel_include(layout, operator, is_file_browser):
header, body = layout.panel("FBX_export_include", default_closed=False) header, body = layout.panel("FBX_export_include", default_closed=False)
header.label(text="Include") header.label(text="Include")
if body: if body:
@ -614,6 +617,7 @@ def export_panel_include(layout, operator):
sublayout.enabled = (operator.batch_mode == 'OFF') sublayout.enabled = (operator.batch_mode == 'OFF')
sublayout.prop(operator, "use_selection") sublayout.prop(operator, "use_selection")
sublayout.prop(operator, "use_visible") sublayout.prop(operator, "use_visible")
if is_file_browser:
sublayout.prop(operator, "use_active_collection") sublayout.prop(operator, "use_active_collection")
body.column().prop(operator, "object_types") body.column().prop(operator, "object_types")