#collada skeleton import, bugfix #29621

Do not crash when joint SIDs cannot be resolved.

OpenCOLLADA cannot resolve joint SIDs connected to skin if the <skeleton> tag is missing.

Page 148 of COLLADA spec 1.4.1 states: "<skeleton> elements define where to start the sid lookup". So I think this is a bug in "FBX COLLADA exporter" which did not add the <skeleton> tag.

The problem can be fixed by manually adding the <skeleton> tag into <instance_controller>.
This commit is contained in:
2012-03-04 13:43:23 +00:00
parent 12d0489b33
commit c2760307e8

View File

@@ -416,6 +416,10 @@ void ArmatureImporter::create_armature_bones( )
//Object *ob_arm = add_object(scene, OB_ARMATURE); //Object *ob_arm = add_object(scene, OB_ARMATURE);
Object *ob_arm = joint_parent_map[(*ri)->getUniqueId()]; Object *ob_arm = joint_parent_map[(*ri)->getUniqueId()];
if (!ob_arm)
continue;
//ob_arm->type = OB_ARMATURE; //ob_arm->type = OB_ARMATURE;
ED_armature_to_edit(ob_arm); ED_armature_to_edit(ob_arm);