本日は Blender の技術調査枠です。
Blenderで利用可能なpythonスクリプトを作ります。
bluebirdofoz.hatenablog.com
オブジェクトへモディファイアを追加
指定オブジェクトにモディファイアを追加します。
本スクリプト例では「ブーリアン」モディファイアを追加して交差設定を行います。
・make_modifier_boolean.py
# bpyインポート import bpy # 「ブーリアン」モディファイアの追加 # 引数 arg_objectname :指定オブジェクト名 # 戻り値 def make_modifier_boolean(arg_objectname='Default'): # 他のオブジェクトにモディファイアを適用しないよう全てのオブジェクトを走査する for ob in bpy.context.scene.objects: # 非選択状態に設定する ob.select=False # 指定オブジェクトを取得する selectob = bpy.data.objects[arg_objectname] # 変更オブジェクトをアクティブに変更する bpy.context.scene.objects.active = selectob # 変更オブジェクトを選択状態にする selectob.select=True # 「ブーリアン」モディファイアを追加する bpy.ops.object.modifier_add(type='BOOLEAN') # 作成モディファイアを取得する selectmod = selectob.modifiers['Boolean'] # 名前を指定オブジェクト名+「_Boolean」に設定する selectmod.name = arg_objectname + '_Boolean' # 演算設定を「交差」に設定する selectmod.operation = 'INTERSECT' return # 関数の実行例 make_modifier_boolean('Cube')
オブジェクトからモディファイアを削除
指定オブジェクトからモディファイアを削除します。
・del_modifier_boolean.py
# bpyインポート import bpy # 「ブーリアン」モディファイアの削除 # 引数 arg_objectname :指定オブジェクト名 # 戻り値 def del_modifier_boolean(arg_objectname='Default'): # 他のオブジェクトにモディファイアを適用しないよう全てのオブジェクトを走査する for ob in bpy.context.scene.objects: # 非選択状態に設定する ob.select=False # 指定オブジェクトを取得する selectob = bpy.data.objects[arg_objectname] # 変更オブジェクトをアクティブに変更する bpy.context.scene.objects.active = selectob # 変更オブジェクトを選択状態にする selectob.select=True # 「ブーリアン」モディファイアを取得する selectmod = selectob.modifiers[arg_objectname + '_Boolean'] # モディファイアを削除する bpy.ops.object.modifier_remove(modifier=arg_objectname + '_Boolean') return # 関数の実行例 del_modifier_boolean('Cube')