From cbec4e2768022596ff6acb145db3ae073e528397 Mon Sep 17 00:00:00 2001 From: Sukhitha Prabhath Jayathilake Date: Mon, 8 Aug 2011 16:38:57 +0000 Subject: [PATCH] export bone transform matrix with sid. --- source/blender/collada/AnimationExporter.cpp | 2 +- source/blender/collada/TransformWriter.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/source/blender/collada/AnimationExporter.cpp b/source/blender/collada/AnimationExporter.cpp index fc13207dd2e..4beab6f7608 100644 --- a/source/blender/collada/AnimationExporter.cpp +++ b/source/blender/collada/AnimationExporter.cpp @@ -586,7 +586,7 @@ void AnimationExporter::exportAnimations(Scene *sce) addSampler(sampler); - std::string target = translate_id(ob_name + "_" + bone_name) + "/transform"; + std::string target = translate_id(bone_name) + "/transform"; addChannel(COLLADABU::URI(empty, sampler_id), target); closeAnimation(); diff --git a/source/blender/collada/TransformWriter.cpp b/source/blender/collada/TransformWriter.cpp index 546ca3e3019..3ac0654c866 100644 --- a/source/blender/collada/TransformWriter.cpp +++ b/source/blender/collada/TransformWriter.cpp @@ -48,8 +48,13 @@ void TransformWriter::add_node_transform(COLLADASW::Node& node, float mat[][4], copy_m4_m4(local, mat); } + double dmat[4][4]; + for ( int i = 0 ; i< 4 ; i ++ ) + for ( int j =0 ; j < 4 ; j++) + dmat[i][j] = (double)local[i][j]; + TransformBase::decompose(local, loc, rot, NULL, scale); - + node.addMatrix("transform",dmat); add_transform(node, loc, rot, scale); }