From aa353e127c2be0a31e10f8b3621fc418bcf6d6ef Mon Sep 17 00:00:00 2001
From: Julien Duroure <julien.duroure@gmail.com>
Date: Fri, 17 Jun 2022 07:41:02 +0200
Subject: [PATCH] glTF exporter: Regression: Fix T98912 - export driven SK when
 mesh parented to bone

---
 io_scene_gltf2/__init__.py                                 | 2 +-
 io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index fd3d2d56e..ce48f2932 100755
--- a/io_scene_gltf2/__init__.py
+++ b/io_scene_gltf2/__init__.py
@@ -4,7 +4,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": (3, 3, 4),
+    "version": (3, 3, 5),
     'blender': (3, 3, 0),
     'location': 'File > Import-Export',
     'description': 'Import-Export as glTF 2.0',
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 4e77f60e8..b0e538c87 100644
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py
@@ -12,7 +12,12 @@ def get_sk_drivers(blender_armature_uuid, export_settings):
 
     drivers = []
 
-    for child_uuid in export_settings['vtree'].nodes[blender_armature_uuid].children:
+    # Take into account skinned mesh, and mesh parented to a bone of the armature
+    children_list = export_settings['vtree'].nodes[blender_armature_uuid].children
+    for bone in export_settings['vtree'].get_all_bones(blender_armature_uuid):
+        children_list.extend(export_settings['vtree'].nodes[bone].children)
+
+    for child_uuid in children_list:
 
         if export_settings['vtree'].nodes[child_uuid].blender_type == "BONE":
             continue
-- 
GitLab