いままで一所懸命に手動でジョイントの位置合わせをしていたが、そもそも VRM アドオンで既存のボーンをマッピングしてリターゲットすることができるようだ。
VRM 必須ボーン欄に既存スケルトンリグのボーン名を指定すれば済む
Character Creator 4 (CC4) の標準スケルトンリグ CC3+ Base (AccuRIG) のボーンは VRM 必須ボーンよりも複雑で数が多いので、マッピングすることができる。
- Head 欄には、既存スケルトンリグの頭部ボーン名 CC_Base_Head を入力
- Neck/Chest/Spine/Hips にも位置が近いボーン名をそれぞれ入力
- その下に視線 Eye、手指なども設定できるので、出来る限り入力
新たな VRM スケルトンリグを生成して位置合わせする必要はない
これまでは
するなどして、新規に VRM スケルトンリグを用意してから、
などの方法で、ジョイントの位置合わせを行っていたため毎回1時間位はかかっていた。
そのようなことをする必要はなかったことに今更気づいた次第だ。
Blender での自動スキニングで必ず発生してしまうトラブルも起きない
新たに別のスケルトンリグ(アーマチュア)を作成した場合には、Blender でスキニング(自動ウェイト)を行う必要があり、これがいつもトラブルを惹起していた。
不安定な結果になりがちな Blender の自動ウェイトでの再スキニングが必要なくなり、メッシュの修正もほとんど不要となる。
メッシュだけでなくスケルトンリグも流用するため、作業量が激減する
Character Creator 4 (CC4) からの出力の場合、Blender Auto Setup Add-ons でのマテリアル再構築と修正だけでよく、10分くらいで VRM 出力準備は整った。
これまで半日以上かかった作業が 20 分で終わったので、たいへん生産性が向上した。
いままで数カ月、気づかなかった自分の愚かさに呆れている。
流用しつつも必要ならばボーン(ジョイント)を足すこともできる
Character Creator の CC3 Base+ (AccuRIG) を利用している場合には、副次ジョイント secondary joint を足す必要はあまりないだろうが、
- VRM 標準モデルとは配置がだいぶ異なっている左右の視線ボーン
- 揺れモノのボーン spring bone
は足すかもしれない。
たまにエラーが出る場合はあったが、簡単にリターゲットできた
アドオン VRM Add-on for Blender で流用したいボーンをマッピングする。
- VRM 1.0 のモードでは自動的にマッピングするボタンがある
時々、なぜだか利かないこともあるが、利いた場合はとても省力化できる。 - VRM 0.0 のモードでは自動的にマッピングはできないがマッピング設定を保存できる。
VRM 1.0 の場合とは違って自動的にマッピングができない(?)
Character Creator 最高品質モデル CC3+ Base では成功した
最高品質の CC3+ Base 形式のモデルについては、エラーもなく VRM アバターを出力できた。
Character Creator の actorBUILD モデルではエラーが出たが復旧できた
頭髪のボーンが重複している旨のエラーで当初は VRM 出力を阻止された
惜しいことに actorBUILD 形式のモデルでは、以下のエラーに阻止されて出力できなかった。
glTFノード要素(メッシュ、ボーン)の名前は重複してはいけません。「Classic_short」が重複しています。
編集 Eidt モードに切り替え、古典的な短髪 Classic_short の重複ボーンと思われる .001 を削除したがエラーは解消しなかった。
重複ボーンを削除して、スキンウェイトを割り振りなおせば復旧した
その後、そもそも頭髪にボーンは必要ないのではないか?と思って、古典的な短髪 Classic_short の .001 が無い方も削除したら、ついにエラーは出なくなった。
しかし頭髪ボーンを削除しただけではダメで、頭部ボーンの子になっていた頭髪ボーンを削除したため、頭髪がスケルトンアニメーションの対象から外れた。
対策は簡単で、古典的な短髪メッシュ Classic_short を編集 Edit モードで開き、頂点グループの名称を Classic_short から CC_Base_Head に書き換えるだけ。
これで一応、頭髪が追従するようになった。