見出し画像

[Blender2.82a]Right/Leftボーンを_R/_Lにリネームする(左右対称が効くようにする)

Mixamoでモーションつけてインポートしたらボーン名称が左右編集きかないタイプの名前だったので、左右対称きくように直した。

1.Blenderを開く
print ("aaaa") みたいにログを確認したいひとは、
こちらのリンクを参考に以下の手順を踏む必要あり。
 Windowsの場合:ConsoleWindowを開く
 Macの場合:BlenderをTerminalから開く

2.以下のコードをscript Windowsで実行
こちらのサイト様のを参考に作成しました。

# bpyインポート
import bpy

# 全ボーンデータの名前変更
# 1.アーマチュアオブジェクトを選択する
# 2.全ボーンデータを取得して名前を変更する
def change_bone_name():
 # シーン中の全てのオブジェクトを走査する
 for ob in bpy.context.scene.objects:
   # オブジェクトがアーマチュアなら名前変更の対象とする
   if ob.type == 'ARMATURE':
     # アーマチュア内のボーンを走査する
     for bone in ob.data.bones:
       # ボーンの名前を取得
       bonename = bone.name
       # 名前にRightが含まれていれば変更対象
       if  'Right' in bonename:
         # ボーンの名前を変更する1(Rightを削除)
         bonename = bonename.replace('Right', '')
         # ボーンの名前を変更する2(末尾に_Rを付与)
         bone.name = bonename + '_R' 
         print(bone.name)
       # 名前にLeftが含まれていれば変更対象
       elif 'Left' in bonename:
         bonename = bonename.replace('Left', '')
         bone.name = bonename + '_L' 
         print(bone.name)
       else:
         print(bone.name)
         
 return

# 関数の実行例
change_bone_name()

環境

Blender:2.82a
Mac OS Catalina

この記事が気に入ったらサポートをしてみませんか?