From f30fc86ab552f193b891bbb68317b0c123e73b75 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 19 May 2015 14:47:37 +0200 Subject: Fix T41605: FBX Export: scale issue with animated armatures. Yes... 10h of work, for a oneliner fixing a simple stupid dummy missing connection between the empty used as armature 'object', and its (void, useless) 'NodeAttribute' data... Why such basic harmless error breaks something (aparently) completly unrelated - and why is it breaking anything, btw - is to be added on the Olympus Mons of FBXSDK madness. Not to mention the usual total lack of parsing warnings/errors from that 'thing'. --- io_scene_fbx/__init__.py | 2 +- io_scene_fbx/export_fbx_bin.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/io_scene_fbx/__init__.py b/io_scene_fbx/__init__.py index 1e644cdc..abd542b1 100644 --- a/io_scene_fbx/__init__.py +++ b/io_scene_fbx/__init__.py @@ -21,7 +21,7 @@ bl_info = { "name": "FBX format", "author": "Campbell Barton, Bastien Montagne, Jens Restemeier", - "version": (3, 2, 6), + "version": (3, 3, 0), "blender": (2, 74, 0), "location": "File > Import-Export", "description": "FBX IO meshes, UV's, vertex colors, materials, textures, cameras, lamps and actions", diff --git a/io_scene_fbx/export_fbx_bin.py b/io_scene_fbx/export_fbx_bin.py index 62926f47..e1ed2edf 100644 --- a/io_scene_fbx/export_fbx_bin.py +++ b/io_scene_fbx/export_fbx_bin.py @@ -1477,7 +1477,7 @@ def fbx_data_armature_elements(root, arm_obj, scene_data): elem_data_single_float64_array(fbx_clstr, b"Transform", matrix4_to_array(mat_world_bones[bo_obj].inverted_safe() * mat_world_obj)) elem_data_single_float64_array(fbx_clstr, b"TransformLink", matrix4_to_array(mat_world_bones[bo_obj])) - #~ elem_data_single_float64_array(fbx_clstr, b"TransformAssociateModel", matrix4_to_array(mat_world_arm)) + elem_data_single_float64_array(fbx_clstr, b"TransformAssociateModel", matrix4_to_array(mat_world_arm)) def fbx_data_leaf_bone_elements(root, scene_data): @@ -2402,7 +2402,7 @@ def fbx_data_from_scene(scene, settings): elif ob_obj.type == 'CAMERA': cam_key = data_cameras[ob_obj] connections.append((b"OO", get_fbx_uuid_from_key(cam_key), ob_obj.fbx_uuid, None)) - elif ob_obj.type == 'EMPTY': + elif ob_obj.type == 'EMPTY' or ob_obj.type == 'ARMATURE': empty_key = data_empties[ob_obj] connections.append((b"OO", get_fbx_uuid_from_key(empty_key), ob_obj.fbx_uuid, None)) elif ob_obj.type in BLENDER_OBJECT_TYPES_MESHLIKE: -- cgit v1.2.3