Blender Auto Rig Proで選択した複数のリグを一括で出力して出力語にアラーム音をならす

Auto Rig Proでアニメーションを出力する時に、長いアニメーションだと1分とかかかる。これが複数のリグだとそれだけ時間がかかる。

待つ時間が暇なので他のことをしていたりすると、終わった事に気づかず余計な時間がかかる。なので、複数のリグをまとめて出力しつつ、終わった後にアラーム音を鳴らすようにする

そもそもマニュアルに書かれてるので改造する

そもそもまとめて出力するコードはAuto Rig Proのマニュアルに書かれている。しかし、パスを自分で書く必要があり、アラーム音もならないので改造する。

import bpy
import os
import winsound

# 現在のBlenderファイルのパスを取得
blend_filepath = bpy.data.filepath
# ディレクトリ部分を取得
blend_dir = os.path.dirname(blend_filepath)

character_names = [i.name for i in bpy.context.selected_objects]

def set_active_object(object_name):
    bpy.context.view_layer.objects.active = bpy.data.objects.get(object_name)
    bpy.data.objects.get(object_name).select_set(state=1)

for char_name in character_names:
    bpy.ops.object.select_all(action='DESELECT')
    set_active_object(char_name)
    # 出力ファイルのパスを設定(Blenderファイルと同じ場所)
    file_output = os.path.join(blend_dir, char_name + ".fbx")
    bpy.ops.arp.arp_export_fbx_panel(filepath=file_output)

# エクスポートが完了した後にサウンドを再生
winsound.MessageBeep(winsound.MB_ICONEXCLAMATION)

これで選択したリグを.blendファイルと同じ場所に自動でリグ名もつけて出力する。出力設定は通常出力時の設定を利用する。

これでかなり効率的になった。

いいなと思ったら応援しよう!