使い方
一括したいオブジェクトを選択し、次にアーマチュアオブジェクトをアクティブ選択する。
コンソールエディターに下記のコードを貼り付けて、エンターで実行する。
sc = bpy.context.scene bone_obj = bpy.context.object sel_l = [o for o in bpy.context.selected_objects if not o == bone_obj] mesh_obj = sel_l[0] finish_l = [] bpy.ops.object.mode_set(mode="EDIT") for bone in bone_obj.data.edit_bones: new_obj = mesh_obj.copy() new_obj.location = bone.head new_obj.name = bone.name finish_l += [new_obj] # コレクション追加は最後でないとnew_objがNoneになる模様 new_obj = sc.collection.objects.link(new_obj) bpy.ops.object.mode_set(mode="OBJECT")
edit_boneでないと位置を得る処理が複雑になるため、ポーズボーンは断念した。