Blender tip profile for bones with 2 or more children.

This commit is contained in:
Sukhitha Prabhath Jayathilake
2011-08-18 19:16:36 +00:00
parent 475e0b8c02
commit 2ee74be88c
2 changed files with 6 additions and 7 deletions

View File

@@ -177,7 +177,7 @@ void ArmatureExporter::add_bone_node(Bone *bone, Object *ob_arm)
node.setNodeName(node_name);
node.setNodeSid(node_sid);
if ( bone->childbase.first == NULL )
if ( bone->childbase.first == NULL || BLI_countlist(&(bone->childbase))>=2)
add_blender_leaf_bone( bone, ob_arm , node );
else{
node.start();
@@ -202,6 +202,9 @@ void ArmatureExporter::add_blender_leaf_bone(Bone *bone, Object *ob_arm, COLLADA
node.addExtraTechniqueParameter("blender", "tip_y", bone->tail[1] );
node.addExtraTechniqueParameter("blender", "tip_z", bone->tail[2] );
for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next) {
add_bone_node(child, ob_arm);
}
node.end();
}

View File

@@ -83,14 +83,11 @@ void ArmatureImporter::create_unskinned_bone( COLLADAFW::Node *node, EditBone *p
float parent_mat[][4], Object * ob_arm)
{
float mat[4][4];
float obmat[4][4];
float obmat[4][4];
// object-space
get_node_mat(obmat, node, NULL, NULL);
// get world-space
EditBone *bone = ED_armature_edit_bone_add((bArmature*)ob_arm->data, (char*)bc_get_joint_name(node));
totbone++;
@@ -151,7 +148,6 @@ void ArmatureImporter::create_unskinned_bone( COLLADAFW::Node *node, EditBone *p
// in second case it's not a leaf bone, but we handle it the same way
if (!children.getCount() || children.getCount() > 1) {
add_leaf_bone(mat, bone, node);
}
@@ -659,7 +655,7 @@ void ArmatureImporter::make_armatures(bContext *C)
}
//for bones without skins
create_armature_bones();
//create_armature_bones();
}
#if 0