BlenderでVRCアバターに非対応の服を着せる
kisetene で着せられるなら良いが、どうしても身体の形が合わないことがある。 おおまかな手順
Blender に素体と服の fbx をインポートする
服のオブジェクト丸ごと選択して、だいたい形を合わせる
服のメッシュを編集して、素体の形に合わせる
服のメッシュをアバターの方に移動する
服のメッシュを選択し、Shift + Alt を押しながらアバターにドラッグアンドドロップする
服のアーマチュアで編集モードに入り、アバターと同じボーンを削除する
ツリーで消したいボーンの矢印を、シフトキーを押しながらクリックして子を全て開く
消したいボーン全て選択して削除
(ここから下の作業を自動化してみた)
服のアーマチュアをアバターに移動する
服のアーマチュアとアバターを選択し、結合する
ボーンを修正する
服のボーンをアバターのものに移植していく
順次 parent をアバターのものに変える
頂点グループを修正する
服のメッシュのモディファイアにて、 Armature でオブジェクトを素体のものに選択する
任意 素体にあって服にないボーン・ウェイトペイントを移動する
特に補助ボーンについて留意すべき
ラシューシャちゃんの場合は Lower Leg_support.L のように補助ボーンが生えている
一方服の頂点グループにはこの補助ボーンが無い
つまり服の頂点グループとして同名の補助ボーンの名前を追加し、ウェイト転送を行う
素体、服の順で選択してウェイトペイント編集を開き、「ウェイトを転送」をクリック
左下に出てくるメニューで、マッチ方法を「名前」、対象レイヤーは「全レイヤー」とする
素体にあって服にないボーンだけ移植したい!
まず服のメッシュを複製しバックアップとする
素体から服にウェイト転送(置き換え)
バックアップから服にウェイト転送(置き換え)
これにより素体にあって服になかったボーン・ウェイトペイントを写すことができる
エクスポートする
アーマチュアと、服に関するメッシュを複数選択し、エクスポート
メッシュとアーマチュアのみ
スケールを適用: すべてFBX
アーマチュア→リーフボーン追加: false
マテリアルの設定
元の服のボーンでループを回して、コンポーネント「VRC Phys Bone」がアタッチされているボーンを探す
そのボーン用に Game Object を作成し、そのコンポーネントをコピーしてくる
Root Transform の中身を、コピーしてきたボーンに対応するボーンに変更する(つまりコピーしてきたボーンと同名のボーンを探せば良さそう)
便利なツール
ウェイトを転送したい服を選択、最後に身体を選択し、kiseru を実行する
「スムーズ」を上げると衣装の破断は少なくなるが、身体にあまり追従しなくなる、らしい
デフォルトでは 0.1、ぴっちりしたストッキングなどは関節の関係で強く追従した方が良いので 0.1 かそれより小さいのが良さそう
参考