diff options
Diffstat (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py')
-rwxr-xr-x | io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py index 32745027..6ab77945 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py @@ -25,7 +25,7 @@ from io_scene_gltf2.blender.exp import gltf2_blender_gather_mesh from io_scene_gltf2.blender.exp import gltf2_blender_gather_joints from io_scene_gltf2.blender.exp import gltf2_blender_extract from io_scene_gltf2.blender.exp import gltf2_blender_gather_lights -from io_scene_gltf2.blender.exp import gltf2_blender_generate_extras +from ..com.gltf2_blender_extras import generate_extras from io_scene_gltf2.io.com import gltf2_io from io_scene_gltf2.io.com import gltf2_io_extensions @@ -135,7 +135,12 @@ def __gather_children(blender_object, blender_scene, export_settings): # blender bones if blender_object.type == "ARMATURE": root_joints = [] - for blender_bone in blender_object.pose.bones: + if export_settings["gltf_def_bones"] is False: + bones = blender_object.pose.bones + else: + bones, _, _ = gltf2_blender_gather_skins.get_bone_tree(None, blender_object) + bones = [blender_object.pose.bones[b.name] for b in bones] + for blender_bone in bones: if not blender_bone.parent: joint = gltf2_blender_gather_joints.gather_joint(blender_bone, export_settings) children.append(joint) @@ -214,7 +219,7 @@ def __gather_extensions(blender_object, export_settings): def __gather_extras(blender_object, export_settings): if export_settings['gltf_extras']: - return gltf2_blender_generate_extras.generate_extras(blender_object) + return generate_extras(blender_object) return None |