はじめに
Vroidから出力したVRMをBlenderでカスタマイズしていくための覚え書き、その1。
肋骨とか、尻と太ももまわりにボーンを入れて、Vroid特有のソフビのような関節曲をなんとかしたい。Vroid特有の部分をカスタマイズしたい。まつ毛、瞳は髪に透過させたい。
ボーン追加からウェイトペイントまで
1. BlenderでVRMアドオンを有効化
- 操作モード:どのモードでも可
Edit>Preferences>Add-ons>InstallからVRMアドオンをインストールし、有効化します。
2. VRMモデルのインポート
- 操作モード:どのモードでも可
File>Import>VRMからVRMファイルをインポートします。- インポートできたら、Unity内で顔面のパーツを個別にシェーダーを設定や調整を行っていきたいので、Face選択してマテリアルで分解をしておく。(※他に良い方法があれば教えてください)

Faceメッシュ選択

編集モードでマテリアルで分離

顔面、瞳、瞳ハイライト、白目、まつ毛、まゆげ、口内で分離できる。リネームしておくとわかりやすいかも。

分離したことでフェーシャルのブレンドの紐づけがFaceのみになっているので(Faceで結合すればよいがばらしてUnityで使いたかった)

ばらしたものにはブレンドシェイプが残っているので全部のモーションで適応しておく。

UnityのHierarchyでの表示。
3. ボーンの追加
- 操作モード:Object Mode から Edit Mode
Object Modeで、モデルのアーマチュア(骨格)を選択します。Tabキーを押してEdit Modeに入ります。- 3Dカーソルをボーンを追加したい位置に移動させます(Shift + 右クリックで移動)。
Shift + Aで新しいボーンを追加します。- 必要に応じてボーンの位置や長さを調整し、既存のボーンに接続します。
- 新しく追加したボーンの名前を設定します(右側のプロパティパネルの「Bone」タブで変更)。

肋骨をいれて腕まわりのウェイトなど調整。Vroidモデルって腕降ろすと肋骨あたりが凹むのがいつも気になってた。
4. メッシュとアーマチュアのリンク
- 操作モード:Object Mode
Object Modeに戻り、メッシュを選択します。Shiftキーを押しながらアーマチュアを選択します。Ctrl + Pでペアレントメニューを開き、「Armature Deform」 > 「With Empty Groups」を選択します。
5. ウェイトペイントの設定
- 操作モード:Object Mode から Weight Paint Mode
- メッシュを選択し、右側のプロパティパネルから「Object Data Properties」(緑色の三角形アイコン)を開きます。
- 「Vertex Groups」のセクションで、新しく追加したボーン名のグループを見つけます。存在しない場合は「+」ボタンを押して手動で追加します。
Ctrl + TabでWeight Paint Modeに切り替えます。- 左側のツールパネルから「Draw」を選択し、影響を与えたいボーンの名前が付いたボーングループを選択します。
- ブラシを使ってウェイトをペイントし、ボーンが影響を与える範囲を設定します。

とりあえず、ここでBlenderの基本概念ビューや編集のきりかえ方、ボーンとメッシュの関係など学ぶ。
追加ボーンとウェイトつけてVRMに書きだしてUnityで読み込みさせるとモデルの該当ボーンのメッシュ形状がおかしくなる。
30回くらい設定かえたり、調整してりしていったりきたりしているうちに、いろいろ操作を覚える。
UniVRMを最新のにすると、問題なくインポートでき追加ボーンも想定どおり、尻揺れなどできるようになった。
まつ毛

Before

After
Blenderで立体感をつける。
ここらへんで左右対称に編集する技や、ブレンドシェイプ込のメッシュの編集時の取り扱いの面倒くささを学ぶ。
瞳

Blenderで白目と瞳の形状を変更して奥行をつけるようにした。
髪とまゆげとまつ毛の透過

lilToonのTip参考。
おわりに
あまり変わらんかった(笑)テクスチャはVroidのままなので、変更することでも変化は出せるのかも。
今回は数日の空き時間でBlenderの操作をいろいろ独学できたので、それでヨシッ!

Vroidカメラ

Blenderで修正後Unityプレビュー

Unityカメラ
残タスク、着せ替えとかモデル差し替えとか装備とか。
追記
あくまでゲーム内でボディの切り替えや、服装の切り替えをしたいので、Vroidでベース作成してBlender上で編集、その他のパーツを全部作ってVRMで書きだしてUnityに反映。Unity側で服の脱着、脱着後のボディの変化のオブジェクトの活性操作を切り替えるやり方が一番楽で、アニメーション中もシームレスにモデル切り替えできるので、やりたいことはできそう。

