From 79f277018e5ad488e132e82acae5e8725779bb33 Mon Sep 17 00:00:00 2001 From: Manuel Martin Date: Tue, 18 Jun 2024 18:34:28 +0200 Subject: [PATCH 1/2] Assign extensions if the didn't exist already --- utils.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/utils.py b/utils.py index d1497a1..46ab156 100644 --- a/utils.py +++ b/utils.py @@ -147,14 +147,18 @@ def add_component_to_node(gltf2_object, dep, value, export_settings): except ImportError: # A version of the io_hubs_addon below 1.5 is being used from io_hubs_addon.io.gltf_exporter import hubs_config as HUBS_CONFIG - hubs_ext = get_hubs_ext(export_settings) + hubs_ext_name = HUBS_CONFIG["gltfExtensionName"] if type(gltf2_object) is tuple: extensions = gltf2_object[0].extensions else: extensions = gltf2_object.extensions + + existed = True if extensions is None: + existed = False extensions = {} + if hubs_ext_name not in extensions: extensions[hubs_ext_name] = {dep.get_name(): value} else: @@ -169,6 +173,12 @@ def add_component_to_node(gltf2_object, dep, value, export_settings): else: extensions[hubs_ext_name][dep.get_name()].update(value) + if not existed: + if type(gltf2_object) is tuple: + gltf2_object[0].extensions = extensions + else: + gltf2_object.extensions = extensions + def update_gltf_network_dependencies(node, export_settings, blender_object, dep, value={"networked": "true"}): if type(blender_object) is bpy.types.Object: From c9e6f170073f1ac108baab13cd950c2e2b7d8cf3 Mon Sep 17 00:00:00 2001 From: Manuel Martin Date: Wed, 26 Jun 2024 12:08:41 +0200 Subject: [PATCH 2/2] Address comments --- utils.py | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/utils.py b/utils.py index 46ab156..6bcf504 100644 --- a/utils.py +++ b/utils.py @@ -133,14 +133,6 @@ def gather_object_property(export_settings, blender_object): return None -def get_hubs_ext(export_settings): - exts = export_settings["gltf_user_extensions"] - import io_hubs_addon - for ext in exts: - if type(ext) is io_hubs_addon.io.gltf_exporter.glTF2ExportUserExtension: - return ext - - def add_component_to_node(gltf2_object, dep, value, export_settings): try: from io_hubs_addon.io.utils import HUBS_CONFIG @@ -154,13 +146,15 @@ def add_component_to_node(gltf2_object, dep, value, export_settings): else: extensions = gltf2_object.extensions - existed = True if extensions is None: - existed = False extensions = {} if hubs_ext_name not in extensions: extensions[hubs_ext_name] = {dep.get_name(): value} + if type(gltf2_object) is tuple: + gltf2_object[0].extensions = extensions + else: + gltf2_object.extensions = extensions else: if hasattr(extensions[hubs_ext_name], "extension"): if not dep.get_name() in extensions[hubs_ext_name].extension: @@ -173,12 +167,6 @@ def add_component_to_node(gltf2_object, dep, value, export_settings): else: extensions[hubs_ext_name][dep.get_name()].update(value) - if not existed: - if type(gltf2_object) is tuple: - gltf2_object[0].extensions = extensions - else: - gltf2_object.extensions = extensions - def update_gltf_network_dependencies(node, export_settings, blender_object, dep, value={"networked": "true"}): if type(blender_object) is bpy.types.Object: