From 7389b08a08c6317e0fab85ca822d315735cb5e2d Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Thu, 26 Sep 2024 14:50:50 +0200 Subject: [PATCH] glTF exporter: fix crash using full collection hierarchy export --- scripts/addons_core/io_scene_gltf2/__init__.py | 2 +- .../io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/addons_core/io_scene_gltf2/__init__.py b/scripts/addons_core/io_scene_gltf2/__init__.py index 4f16870ed65..a7e38678d68 100755 --- a/scripts/addons_core/io_scene_gltf2/__init__.py +++ b/scripts/addons_core/io_scene_gltf2/__init__.py @@ -5,7 +5,7 @@ bl_info = { 'name': 'glTF 2.0 format', 'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors', - "version": (4, 2, 69), + "version": (4, 2, 70), 'blender': (4, 2, 0), 'location': 'File > Import-Export', 'description': 'Import-Export as glTF 2.0', diff --git a/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py b/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py index de370ab5555..da10d3a67a5 100644 --- a/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py +++ b/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py @@ -175,7 +175,8 @@ class VExportTree: # add to parent if needed if parent_uuid is not None: self.add_children(parent_uuid, node.uuid) - if self.nodes[parent_uuid].blender_type == VExportNode.INST_COLLECTION or original_object is not None: + if (self.nodes[parent_uuid].blender_type == VExportNode.INST_COLLECTION or original_object is not None) or (self.nodes[parent_uuid].blender_type != + VExportNode.COLLECTION and self.nodes[parent_uuid].blender_object is not None and self.nodes[parent_uuid].blender_object.is_instancer is True): self.nodes[parent_uuid].children_type[node.uuid] = VExportNode.CHILDREN_IS_IN_COLLECTION if is_children_in_collection is True else VExportNode.CHILDREN_REAL else: self.roots.append(node.uuid)