本日は Blender の技術調査枠です。
Blenderで利用可能なpythonスクリプトを作ります。
bluebirdofoz.hatenablog.com
オブジェクトの複製
指定のオブジェクトを複製します。
引数指定で複製オブジェクトの名前を設定できます。
・duplicate_object.py
# bpyインポート import bpy # オブジェクトを複製する # 引数 arg_objectname:指定オブジェクト名 # arg_dupame:変更オブジェクト名 # 戻り値 def duplicate_object_rename(arg_objectname='Default', arg_dupname=''): # 他のオブジェクトに操作を適用しないよう全てのオブジェクトを走査する for ob in bpy.context.scene.objects: # 非選択状態に設定する ob.select=False # 指定オブジェクトを取得する selectob=bpy.context.scene.objects[arg_objectname] # 指定オブジェクトをアクティブに変更する #bpy.context.scene.objects.active = selectob # 指定オブジェクトを選択状態にする selectob.select=True # オブジェクトを複製する bpy.ops.object.duplicate_move( OBJECT_OT_duplicate=None, TRANSFORM_OT_translate=None) # 指定オブジェクトの選択状態を解除する selectob.select=False # 複製オブジェクト名が指定されている場合は名前変更 if len(arg_dupname) > 0: # 複製オブジェクトの名前を取得する duplicated_objectname=arg_objectname + ".001" # 複製オブジェクトを取得する duplicatedob=bpy.data.objects[duplicated_objectname] # 複製オブジェクトの名前を変更する duplicatedob.name=arg_dupname return # 関数の実行例 duplicate_object_rename(arg_objectname='Cube', arg_dupname='Duplicate')
FBXファイルのインポート
指定ディレクトリのFBXファイルをデフォルト設定の指定でインポートします。
・fbx_import.py
# bpyインポート import bpy # FBXモデルをインポートする(デフォルト設定) # 引数 arg_filepath:ファイルパス # 戻り値 def import_file_fbx(arg_filepath='C:\\Models\\sample.fbx'): # FBXインポート # bpy.ops.import_scene.fbx() bpy.ops.import_scene.fbx( filepath=arg_filepath, use_manual_orientation=False, global_scale=1.0, bake_space_transform=False, use_custom_normals=True, use_image_search=True, use_alpha_decals=False, decal_offset=0.0, use_anim=True, anim_offset=1.0, use_custom_props=True, use_custom_props_enum_as_string=True, ignore_leaf_bones=False, force_connect_children=False, automatic_bone_orientation=False, primary_bone_axis='Y', secondary_bone_axis='X', use_prepost_rot=True ) return # 関数の実行例 import_file_fbx('C:\\Models\\sample.fbx')