忘却まとめ

Blenderの中級者・上級者向けの踏み込んだ情報や、アドオン・3DCGに関する情報を記事にします

ボーンのヘッド位置にオブジェクトを一括複製するスクリプト【Blender】

Blender

投稿日:

使い方

一括したいオブジェクトを選択し、次にアーマチュアオブジェクトをアクティブ選択する。
コンソールエディターに下記のコードを貼り付けて、エンターで実行する。

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でないと位置を得る処理が複雑になるため、ポーズボーンは断念した。

3Dモデルなどの制作依頼はこちら

-Blender

Copyright© 忘却まとめ , 2024 All Rights Reserved Powered by STINGER.