From d8258116362889d6d5f7af4e544f7b9f1abef1e8 Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Fri, 22 Apr 2022 21:23:45 +0200 Subject: glTF exporter: Use rest pose for armature when 'use current frame' is off --- io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py') 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 e629a963..dc27e877 100644 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py @@ -169,7 +169,12 @@ class VExportTree: correction = Quaternion((2**0.5/2, -2**0.5/2, 0.0, 0.0)) node.matrix_world @= correction.to_matrix().to_4x4() elif node.blender_type == VExportNode.BONE: - node.matrix_world = self.nodes[node.armature].matrix_world @ blender_bone.matrix + if self.export_settings['gltf_current_frame'] is True: + # Use pose bone for TRS + node.matrix_world = self.nodes[node.armature].matrix_world @ blender_bone.matrix + else: + # Use edit bone for TRS --> REST pose will be used + node.matrix_world = self.nodes[node.armature].matrix_world @ blender_bone.bone.matrix_local axis_basis_change = Matrix.Identity(4) if self.export_settings[gltf2_blender_export_keys.YUP]: axis_basis_change = Matrix( -- cgit v1.2.3