🙌
BlenderでUnity用にアニメーションのみExportするスクリプト
ターミナルから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にアニメーションをまとめて、そちらを出力させるといいかも。
参考
Discussion