diff options
author | Julien Duroure <julien.duroure@gmail.com> | 2021-05-17 21:45:09 +0300 |
---|---|---|
committer | Julien Duroure <julien.duroure@gmail.com> | 2021-05-17 21:45:09 +0300 |
commit | 91f57b489943fa1136ad9790997c923f393c99aa (patch) | |
tree | 81783d7e0734733f1b09a4b3d9224f9793dcdb5e /io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py | |
parent | f172f77247497c00fd8cf4cefe393175741e5849 (diff) |
glTF export: new option to export only visible/renderable/active collection
Diffstat (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py')
-rwxr-xr-x | io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py index 5332f4a9..7b58c0f9 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py @@ -127,6 +127,19 @@ def __filter_node(blender_object, blender_scene, export_settings): if export_settings[gltf2_blender_export_keys.SELECTED] and blender_object.select_get() is False: return False + if export_settings[gltf2_blender_export_keys.VISIBLE] and blender_object.visible_get() is False: + return False + + # render_get() doesn't exist, so unfortunately this won't take into account the Collection settings + if export_settings[gltf2_blender_export_keys.RENDERABLE] and blender_object.hide_render is True: + return False + + if export_settings[gltf2_blender_export_keys.ACTIVE_COLLECTION]: + found = any(x == blender_object for x in bpy.context.collection.all_objects) + + if not found: + return False + return True |