Blenderにはオブジェクト等のリネーム機能があって
選択したボーンの名前を正規表現で一括置換といったこともできます
ボーンの一括リネーム等の作業は数か月に1度程度でどうしても忘れてしまう部分があるので覚え書きです
基本
リネームは 編集メニューの名前を一括変更[Ctrl+F2] で呼び出せます
ボーンの編集モードで タイプからボーンを選択することで個々のボーン名を変更できます
他の置換処理のタイプは他のサイトでも解説しているし 試せばわかる程度なので割愛
検索 置き換えの横のアスタリスクアイコンをオンにすることで 正規表現のモードになります
他の正規表現同様に"()"でグループ化 置き換え側で\(半角¥)+番号でグループのマッチング内容を利用できます
図のmixamorig:LeftHandMiddle1 は HandMiddle1_L に置換できました
"\"を利用するのが毎回分からなくなるポイントで このメモを書きました
ちょっとだけ複雑な正規表現
Blenderでは 左右のボーンの判別を接尾語もしくは接頭語で判別するのですが
他の環境では leg_L0_0_jnt leg_R0_0_jnt といった感じに中間部分に入っていることはあります
これをleg_0_0_L leg_0_0_R のように並び替えるのは
検索を (.+?)([L|R])(\d*)(.+)jnt
置き換えを \1\3_\4_\2
といった具合にしました
"(.+?)" が ""までの任意の文字列の最少マッチ "[LR]"がLRのどちらかとマッチといった感じです
メタ文字メモ
. | 任意の1文字 |
* | 直前のパターンの0回以上繰り返し(最長一致) |
+ | 直前のパターンの1回以上繰り返し(最長一致) |
? | 直前のパターンの0~1回繰り返し(最長一致) |
~|~ | | の左右の文字列のいずれか(~または~) |
[~] | ~のいずれか1文字 |
[^~] | ~に含まれない1文字 |
^ | 論理行頭 |
$ | 論理行末 |
\ | 直後のメタ文字をエスケープ |
\n | 改行文字 |
\t | タブ文字(制御コード 0x09) |
\s | 空白文字(半角スペース、\t、\n、\r、\f)すべて |
\S | 空白文字(半角スペース、\t、\n、\r、\f)以外 |
\x## | 16進数 #は0~9、a~f、A~Fのいずれか |
\d | すべての半角数字 |
\D | 半角数字以外すべて |
\w | すべての半角英数字とアンダースコア |
\W | 半角英数字とアンダースコア以外すべて |
\l | 半角英小文字 |
\L | 半角英小文字以外すべて(英大文字、数字、全角文字などすべて) |
\u | 半角英大文字 |
\U | 半角英大文字以外すべて(英小文字、数字、全角文字などすべて) |