🙌

BlenderでUnity用にアニメーションのみExportするスクリプト

2022/09/15に公開

ターミナルからBlenderを実行することによって、ログも出力させる

cd 保存したいディレクトリ
/Applications/Blender.app/Contents/MacOS/Blender
# bpyインポート
import bpy

FILE_NAME = "animation.fbx"

# FBXモデルをエクスポートする(メッシュオブジェクト指定)
def export_animation():
    """
    Export FBX file only animation for Unity.
    """

    # FBXインポート
    # bpy.ops.import_scene.fbx()
    # https://docs.blender.org/api/2.82a/bpy.ops.export_scene.html#bpy.ops.export_scene.fbx
    bpy.ops.export_scene.fbx(
        filepath=FILE_NAME,
        check_existing=True,
        filter_glob="*.fbx",
        use_selection=False,
        use_active_collection=False,
        global_scale=1.0,
        apply_unit_scale=True,
        apply_scale_options='FBX_SCALE_NONE',
        bake_space_transform=False,
        object_types={'ARMATURE'},
        use_mesh_modifiers=False,
        use_mesh_modifiers_render=False,
        mesh_smooth_type='OFF',
        use_subsurf=False,
        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=True,
        armature_nodetype='NULL',
        bake_anim=True,
        bake_anim_use_all_bones=True,
        bake_anim_use_nla_strips=False,
        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,
        axis_forward='-Z',
        axis_up='Y'
    )
    return


# 関数の実行例
export_animation()

NLAは無視。個別のアクションのみ。本来はNLAにアニメーションをまとめて、そちらを出力させるといいかも。

参考

http://marupeke296.com/BL_SC_No1_start.html

https://bluebirdofoz.hatenablog.com/entry/2020/04/07/025803

http://dekapoppo.blogspot.com/2017/12/mac-blenderprint.html

Discussion