COLLADA: Take parent bone length and direction instead of using bone pointing up...
authorNathan Letwory <nathan@letworyinteractive.com>
Wed, 31 Aug 2011 09:37:14 +0000 (09:37 +0000)
committerNathan Letwory <nathan@letworyinteractive.com>
Wed, 31 Aug 2011 09:37:14 +0000 (09:37 +0000)
source/blender/collada/ArmatureImporter.cpp

index 1e7879b352ff055a5dd32d104cfe3e753507d92d..2ec8ae540d2ffba916af272b2931cc710f199c0e 100644 (file)
@@ -310,9 +310,10 @@ void ArmatureImporter::fix_leaf_bones( )
                LeafBone& leaf = *it;
 
                // pointing up
-               float vec[3] = {0.0f, 0.0f, 1.0f};
+               float vec[3] = {0.0f, 0.0f, 0.1f};
                
-               //mul_v3_fl(vec, leaf_bone_length);
+               // if parent: take parent length and direction
+               if(leaf.bone->parent) sub_v3_v3v3(vec, leaf.bone->parent->tail, leaf.bone->parent->head);
 
                copy_v3_v3(leaf.bone->tail, leaf.bone->head);
                add_v3_v3v3(leaf.bone->tail, leaf.bone->head, vec);