VRChat Quest対応アバターへのフロー
目的
VRoidStudioで作った自作のアバター「りゅん」「Miki」「りしゅな」をQuest用に対応させる。
上記のアバターはVRoidStudioのみで作成したVRoid。ここからVRchatのQuest用にアバターをアップロードすることが目的です。
やってみた結果はvery poorになっているので、とりあえずアップロードしたい方向けになります。
VRChat初心者のため、間違っている箇所があるかもしれません。おかしいところがあれば指摘お願い致します。
随時画像の追加などしていき、皆さんに読んでいただきやすいようにしていこうと思っています。
マシンスペック
Windows10Pro
プロセッサ Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz 3.00 GHz
実装RAM 32.0GB
GPU NVIDIA GeForce RTX2060 SUPER
使用ソフト
VRoidStudio PC版 1.22.1
Blender3.6.5
VRoid Texture Converter for VRChat on Quest(¥200)
Unity2019.4.31f1
VRC CC 2.1.5
- VRM Converter for VRChat
画像編集ソフト 今回はGIMPを使用
🔶VRoidStudio作業
テクスチャ修正
★VRchatのQuest用のシェーダーは透明部分が黒塗りになってしまうので、できるだけこの段階で透明なテクスチャは無くします。
顔編集にて、肌、瞳、白眼、口内 以外のものをすべてオフにする。
別ソフト「VRoid Texture Converter for VRChat on Quest」を使って眉毛とアイライン画像を作り、白い部分をGIMPで透過する。
肌のテクスチャ編集にて、新規レイヤーを2枚作り、眉毛とアイライン画像をインポートして上に重ねる。さらに新規レイヤーを作って、メイクをさせるように、チーク、口紅、まぶたなどをいい感じに描いて顔を完成させる。(ここに画像載せる予定)
瞳のテクスチャ編集にて、新規レイヤーを作りだいたい白眼と同じ色の塗りつぶしレイヤーを瞳の下に入れる。
ハイライトのテクスチャ編集から画像をエクスポートしておく。瞳のテクスチャ編集にて新規レイヤーを作り、ハイライトの画像をインポートして上に重ねる。
★カラー調整を使用していた場合のみ以下の工程が必要。カラー調整は使えない。
テクスチャを編集>カラー調整 これを使用していたものはすべてオフにする。テクスチャをエクスポート。GIMPで色を編集してインポートし直す。
GIMP作業は具体的に、レイヤー乗算でカラー調整していた色を重ねる。
ボーンを減らす
★PhysBoneは全体で8本しか使えないので、VroidStudioから髪ボーンを最低限に減らす。
VRoidStudioからはちゃんと触れるボーンは髪だけだと思うのでこの段階で触るボーンは髪のみ。今回のMikiアバターについては短髪なのでボーン全て削除。長髪の場合は最低限のボーンに減らす。
エクスポート設定
変換パラメータ
★可能な限りポリゴンとマテリアルを減らす
ポリゴンの削減
- 髪の断面形状は変更 しない
- 透明メッシュの削除 する
- 削減度の調整 すべて20~30ぐらい
マテリアルの削減
- マテリアル数 2
- テクスチャアトラス解像度 下げる
とあるアバターの場合のデータ例
変換前
- ポリゴン数 51160
- マテリアル数 9
変換後
- ポリゴン数 37932
- マテリアル数 2
フォーマット vrm0.0
🔶Blender作業
VRM読み込み(標準機能ではないのでインポートにはアドオンが必要)
透過メッシュをきれいにカット
★透明メッシュが残っているのでBlenderでカットしていきます。
作業が必要な個所
瞳、服
対象オブジェクト
プロパティ>マテリアルタブ
VRMマテリアルのアルファモードを不透明にしたりして作業する
オブジェクトモードにて対象オブジェクトを選択し、編集モードに切り替え。
対象のメッシュ上にポインターを置きLで選択し、shift + Hで選択物以外を隠す。
ナイフツールで画像のとおりに切っていく。最後まで行ったらEnter。
切り終わったら透明部分を面削除していく。
もう一度対象をLで選択し、ヘッダー>面>面を三角化
隠していたメッシュはalt + Hで全表示される。
ウェイト修正
★ナイフツールでカットするとウェイトがおかしくなるのでそこを修正
オブジェクトモードにて対象のオブジェクトを選択、編集モードに切り替え。
対象のメッシュ上にポインターを置きLで選択。
ウェイトペイントモードに切り替え。
ヘッダー>ペイントマスクをオン
プロパティ>頂点グループタブ を見て、割り当てられている対象のグループを選択
塗りつぶしでよさそうならShift+Kで塗りつぶす。そうでないなら頑張って塗る↓
スミア(指マークの機能)で本来のウェイトを参照して延ばし、ぼかし機能でなじませる。ここがうまくいってるか結構難しい。
ウェイト確認のためオブジェクトモードからボーンを選択し、ポーズモードに切り替え。各部のボーンをRで回転してみておかしいところがないかチェック。
その他
全体で8本までしかPhysBoneを使えないので服のボーンはあきらめることにしました。
不要なボーンの削除
頂点グループを確認しながらウェイトの無い不要なボーンがあれば削除する。
VRM書き出し
アバターオブジェクトを階層選択して書き出しする。
🔶Unity作業
VCCから新規プロジェクト作成
VRM Converter for VRChatをそのプロジェクトに加える。プラットフォームはアバター用でビルドターゲットはandroid。
アバターのインポート
書き出したvrmデータをprojectエリアのAsset下にわかりやすいように新規フォルダを作成してアバター名をつける。そこにフォルダからvrmデータをドロップしてインポート。
Projectでアバターのプレハブを選択した状態で ヘッダー VRM0>Duplicate and Convert for VRChat で 変換。オプションはそのまま。
眼の設定
アバターオブジェクトのVRC Avatar Descriptor > Eyes 各±10ぐらいになってる値を±4にする
PhysBoneの設定
複数選択して作業するとやりやすいのでSecondaryは削除して各揺れもののオブジェクトにPhysBoneコンポーネントを追加。
パラメータはこんな感じ。
VRChatウィンドウからアップデート
名前、Descriptionを入力
サムネイルを設定
プラットフォームをAndroidにして
規約同意チェック
アップロード
完了!
この記事が気に入ったらサポートをしてみませんか?