From 0e480c8fc8f5e3948fe7578e1d0081624587c7c0 Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Wed, 29 Jun 2022 08:02:43 +0200 Subject: glTF exporter: Make sure to not modify virtual tree --- io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py') diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py index b0e538c8..4b24599a 100644 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py @@ -13,7 +13,7 @@ def get_sk_drivers(blender_armature_uuid, export_settings): drivers = [] # Take into account skinned mesh, and mesh parented to a bone of the armature - children_list = export_settings['vtree'].nodes[blender_armature_uuid].children + children_list = export_settings['vtree'].nodes[blender_armature_uuid].children.copy() for bone in export_settings['vtree'].get_all_bones(blender_armature_uuid): children_list.extend(export_settings['vtree'].nodes[bone].children) -- cgit v1.2.3 From 69b9725ba0f8d4b28da3e60e35b4bf009ff6583f Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Sat, 6 Aug 2022 11:57:45 +0200 Subject: glTF exporter: avoid crash when all drivers are invalids --- io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py') diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py index 4b24599a..9da5cc65 100644 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py @@ -74,7 +74,8 @@ def get_sk_drivers(blender_armature_uuid, export_settings): else: all_sorted_channels.append(existing_idx[i]) - if len(all_sorted_channels) > 0: + # Checks there are some driver on SK, and that there is not only invalid drivers + if len(all_sorted_channels) > 0 and not all([i is None for i in all_sorted_channels]): drivers.append((child_uuid, tuple(all_sorted_channels))) return tuple(drivers) -- cgit v1.2.3