diff options
Diffstat (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py')
-rw-r--r-- | io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py index d3edd50a..643cbea0 100644 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py @@ -5,6 +5,7 @@ import bpy import uuid from . import gltf2_blender_export_keys +from io_scene_gltf2.io.exp.gltf2_io_user_extensions import export_user_extensions from mathutils import Quaternion, Matrix class VExportNode: @@ -255,6 +256,7 @@ class VExportTree: def filter(self): self.filter_tag() + export_user_extensions('gather_tree_filter_tag_hook', self.export_settings, self) self.filter_perform() @@ -372,3 +374,12 @@ class VExportTree: if len(candidates) > 0: n.armature = candidates[0].uuid del n.armature_needed + + def get_unused_skins(self): + from .gltf2_blender_gather_skins import gather_skin + skins = [] + for n in [n for n in self.nodes.values() if n.blender_type == VExportNode.ARMATURE]: + if len([m for m in self.nodes.values() if m.keep_tag is True and m.blender_type == VExportNode.OBJECT and m.armature == n.uuid]) == 0: + skin = gather_skin(n.uuid, self.export_settings) + skins.append(skin) + return skins |