added bones hierarchy

This commit is contained in:
joric 2018-01-22 08:09:29 +05:00
parent 7047c1135a
commit 54e2a301df

View File

@ -203,21 +203,22 @@ def make_skeleton():
bpy.ops.object.mode_set(mode='EDIT',toggle=False) bpy.ops.object.mode_set(mode='EDIT',toggle=False)
bones = {}
# copy bones positions from precalculated objects # copy bones positions from precalculated objects
for bone_id in range(len(bonesdata)): for bone_id, (name, pos, rot, parent_id) in enumerate(bonesdata):
bonedata = bonesdata[bone_id] o = bpy.data.objects[name]
bonename = bonedata[0] bone = a.data.edit_bones.new(name)
o = bpy.data.objects[bonename]
bone = a.data.edit_bones.new(bonename)
bone.tail = o.matrix_world.to_translation() bone.tail = o.matrix_world.to_translation()
if o.parent: if o.parent:
bone.head = o.parent.matrix_world.to_translation() bone.head = o.parent.matrix_world.to_translation()
bones[bone_id] = bone
if parent_id != -1:
bones[bone_id].parent = bones[parent_id]
# delete all objects with the same names as bones # delete all objects with the same names as bones
for bone_id in range(len(bonesdata)): for name, pos, rot, parent_id in bonesdata:
bonedata = bonesdata[bone_id] bpy.data.objects.remove(bpy.data.objects[name])
bonename = bonedata[0]
bpy.data.objects.remove(bpy.data.objects[bonename])
bpy.ops.object.mode_set(mode='OBJECT') bpy.ops.object.mode_set(mode='OBJECT')