本日は Blender の技術調査枠です。
Blenderで利用可能なpythonスクリプトを作ります。
bluebirdofoz.hatenablog.com
全オブジェクトの削除
全てのオブジェクトを削除します。
新規プロジェクト作成時に、プロジェクトを真っ新にしたい場合などに便利です。
・delete_all_objects.py
# bpyインポート import bpy # 全オブジェクトの削除 # 引数 # 戻り値 def delete_all_objects(): # 全シーンオブジェクトを削除する for item in bpy.context.scene.objects: bpy.context.scene.objects.unlink(item) # 全データオブジェクトを削除する for item in bpy.data.objects: bpy.data.objects.remove(item) # 全メッシュデータを削除する for item in bpy.data.meshes: bpy.data.meshes.remove(item) # 全マテリアルデータを削除する for item in bpy.data.materials: bpy.data.materials.remove(item) return # 関数の実行例 delete_all_objects()
FBXファイルでのエクスポート
現在のオブジェクトをFBXファイル(ジオメトリ形式)で出力します。
・fbx_export_geometry.py
# bpyインポート import bpy # FBXモデルをエクスポートする(デフォルト設定) # 引数 arg_filepath:ファイルパス # 戻り値 def fbx_export_geometry(arg_filepath='D:\\BlenderDir\\Script\\Export.fbx'): # FBXエクスポート # bpy.ops.export_scene.fbx() # エクスポート設定(デフォルト値) bpy.ops.export_scene.fbx( filepath=arg_filepath, version='BIN7400', use_selection=False, global_scale=1.0, apply_unit_scale=True, apply_scale_options='FBX_SCALE_NONE', bake_space_transform=False, object_types={'EMPTY', 'CAMERA', 'LAMP', 'ARMATURE', 'MESH', 'OTHER'}, use_mesh_modifiers=True, use_mesh_modifiers_render=True, mesh_smooth_type='OFF', use_mesh_edges=False, use_tspace=False, use_custom_props=False, add_leaf_bones=True, primary_bone_axis='Y', secondary_bone_axis='X', use_armature_deform_only=False, armature_nodetype='NULL', bake_anim=True, bake_anim_use_all_bones=True, bake_anim_use_nla_strips=True, bake_anim_use_all_actions=True, bake_anim_force_startend_keying=True, bake_anim_step=1.0, bake_anim_simplify_factor=1.0, path_mode='AUTO', embed_textures=False, batch_mode='OFF', use_batch_own_dir=True, use_metadata=True ) # 出力対象の種別 # 'EMPTY':エンプティ # 'CAMERA':カメラ # 'LAMP':ランプ # 'ARMATURE':アーマチュア # 'MESH':メッシュ # 'OTHER':その他 # パスモードの種類 # 'AUTO':自動 # 'ABSOLUTE':絶対 # 'RELATIVE':相対的 # 'MATCH':マッチ # 'STRIP':ストリップパス # 'COPY':コピー return # 関数の実行例 fbx_export_geometry('D:\BlenderDir\Script\ExportDir\Output.fbx')