本日は Blender の技術調査枠です。
Blenderで利用可能なpythonスクリプトを作ります。
bluebirdofoz.hatenablog.com
メッシュオブジェクトの結合
シーン中にある全てのメッシュオブジェクトを結合します。
・join_mesh_objects.py
# bpyインポート import bpy # メッシュオブジェクトの結合 # 引数 arg_objectname:結合オブジェクト名 # 戻り値 def join_objects_mesh(arg_objectname=''): # シーン中の全てのオブジェクトを走査する for ob in bpy.context.scene.objects: # オブジェクトがメッシュであるか確認する if ob.type == 'MESH': # メッシュであれば選択状態にする ob.select = True # 対象アクティブオブジェクトに切り替える # メッシュはアクティブオブジェクトに結合される bpy.context.scene.objects.active = ob else: # メッシュでなければ選択状態にしない ob.select = False # オブジェクトの結合を実行する bpy.ops.object.join() # 結合オブジェクト名が設定されているか if len(arg_objectname): # オブジェクト名が設定されていれば名前を変更する bpy.context.scene.objects.active.name = arg_objectname return # 関数の実行例 join_objects_mesh('JoinedObject')
オブジェクトの表示/非表示
シーン中にある全てのオブジェクトの表示/非表示を切り替えます。
・switch_object_hide.py
# bpyインポート import bpy # メッシュオブジェクトの表示/非表示 # 引数 arg_ishide:表示(False)/非表示(True) # 戻り値 def switch_object_hide(arg_ishide): # シーン中の全てのオブジェクトを走査する for ob in bpy.context.scene.objects: # 表示/非表示状態を設定する ob.hide=arg_ishide return # 関数の実行例 switch_object_hide(False)