起きた問題
Blenderのポーズモードでボーンを左右対称に編集しようとミラー機能を使用したところ,片側のボーンしか動かないという問題が発生しました.
環境
Blenderバージョン: 3.6
VRMインポートアドオン: VRM Add-on for Blender
原因
VRMモデルをBlenderにインポートすると,Blenderのミラー機能とボーンの命名規則の互換性がないみたいでした.Blenderでは「共通の文字列.{L or R}」という形式でボーンを認識しますが,VRMモデルでは「J_Bip_{L or R}_部位名」となるため,対称ボーンとして認識されません.
解決策
ボーン名をBlenderで認識される形式(語尾がL or Rになっている)に変更する必要があります.以下のPythonスクリプトを使用して,ボーン名を一括で変更できます.
↓スクリプト
import bpy
# アーマチュアオブジェクトを取得
armature = bpy.context.active_object
# ボーン名を変更
for bone in armature.data.bones:
if "_L_" in bone.name:
# "_L_"を削除して".L"を追加
new_name = bone.name.replace("_L_", "_")
if not new_name.endswith(".L"):
bone.name = new_name + ".L"
elif "_R_" in bone.name:
# "_R_"を削除して".R"を追加
new_name = bone.name.replace("_R_", "_")
if not new_name.endswith(".R"):
bone.name = new_name + ".R"
この手順によって,Blender内でVRMモデルのボーンを左右対称に編集できるようになります.
注意
他のソフトウェアやツールとの互換性に影響を与える可能性があります.