見出し画像

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用のシェーダーは透明部分が黒塗りになってしまうので、できるだけこの段階で透明なテクスチャは無くします。

  1. 顔編集にて、肌、瞳、白眼、口内 以外のものをすべてオフにする。

  2. 別ソフト「VRoid Texture Converter for VRChat on Quest」を使って眉毛とアイライン画像を作り、白い部分をGIMPで透過する。

  3. 肌のテクスチャ編集にて、新規レイヤーを2枚作り、眉毛とアイライン画像をインポートして上に重ねる。さらに新規レイヤーを作って、メイクをさせるように、チーク、口紅、まぶたなどをいい感じに描いて顔を完成させる。(ここに画像載せる予定)

  4. 瞳のテクスチャ編集にて、新規レイヤーを作りだいたい白眼と同じ色の塗りつぶしレイヤーを瞳の下に入れる。

  5. ハイライトのテクスチャ編集から画像をエクスポートしておく。瞳のテクスチャ編集にて新規レイヤーを作り、ハイライトの画像をインポートして上に重ねる。

★カラー調整を使用していた場合のみ以下の工程が必要。カラー調整は使えない。
テクスチャを編集>カラー調整 これを使用していたものはすべてオフにする。テクスチャをエクスポート。GIMPで色を編集してインポートし直す。
GIMP作業は具体的に、レイヤー乗算でカラー調整していた色を重ねる。

ボーンを減らす

★PhysBoneは全体で8本しか使えないので、VroidStudioから髪ボーンを最低限に減らす。
VRoidStudioからはちゃんと触れるボーンは髪だけだと思うのでこの段階で触るボーンは髪のみ。今回のMikiアバターについては短髪なのでボーン全て削除。長髪の場合は最低限のボーンに減らす。

エクスポート設定

変換パラメータ
★可能な限りポリゴンとマテリアルを減らす
ポリゴンの削減
- 髪の断面形状は変更 しない
- 透明メッシュの削除 する
- 削減度の調整 すべて20~30ぐらい
マテリアルの削減
- マテリアル数 2
- テクスチャアトラス解像度 下げる

とあるアバターの場合のデータ例
変換前
- ポリゴン数 51160
- マテリアル数 9
変換後
- ポリゴン数 37932
- マテリアル数 2

フォーマット vrm0.0

🔶Blender作業

VRM読み込み(標準機能ではないのでインポートにはアドオンが必要)

透過メッシュをきれいにカット

★透明メッシュが残っているのでBlenderでカットしていきます。

作業が必要な個所
瞳、服 

対象オブジェクト
プロパティ>マテリアルタブ
VRMマテリアルのアルファモードを不透明にしたりして作業する

  1. オブジェクトモードにて対象オブジェクトを選択し、編集モードに切り替え。

  2. 対象のメッシュ上にポインターを置きLで選択し、shift + Hで選択物以外を隠す。

  3. ナイフツールで画像のとおりに切っていく。最後まで行ったらEnter。

  4. 切り終わったら透明部分を面削除していく。

  5. もう一度対象をLで選択し、ヘッダー>面>面を三角化

  6. 隠していたメッシュはalt + Hで全表示される。

ウェイト修正

★ナイフツールでカットするとウェイトがおかしくなるのでそこを修正

  1. オブジェクトモードにて対象のオブジェクトを選択、編集モードに切り替え。

  2. 対象のメッシュ上にポインターを置きLで選択。

  3. ウェイトペイントモードに切り替え。

  4. ヘッダー>ペイントマスクをオン

  5. プロパティ>頂点グループタブ を見て、割り当てられている対象のグループを選択

  6. 塗りつぶしでよさそうならShift+Kで塗りつぶす。そうでないなら頑張って塗る↓

  7. スミア(指マークの機能)で本来のウェイトを参照して延ばし、ぼかし機能でなじませる。ここがうまくいってるか結構難しい。

  8. ウェイト確認のためオブジェクトモードからボーンを選択し、ポーズモードに切り替え。各部のボーンをRで回転してみておかしいところがないかチェック。

その他

  • 全体で8本までしかPhysBoneを使えないので服のボーンはあきらめることにしました。

  • 不要なボーンの削除
    頂点グループを確認しながらウェイトの無い不要なボーンがあれば削除する。

VRM書き出し

アバターオブジェクトを階層選択して書き出しする。

🔶Unity作業

VCCから新規プロジェクト作成

VRM Converter for VRChatをそのプロジェクトに加える。プラットフォームはアバター用でビルドターゲットはandroid。

アバターのインポート

  1. 書き出したvrmデータをprojectエリアのAsset下にわかりやすいように新規フォルダを作成してアバター名をつける。そこにフォルダからvrmデータをドロップしてインポート。

  2. Projectでアバターのプレハブを選択した状態で ヘッダー VRM0>Duplicate and Convert for VRChat で 変換。オプションはそのまま。

眼の設定

アバターオブジェクトのVRC Avatar Descriptor > Eyes 各±10ぐらいになってる値を±4にする

PhysBoneの設定

複数選択して作業するとやりやすいのでSecondaryは削除して各揺れもののオブジェクトにPhysBoneコンポーネントを追加。
パラメータはこんな感じ。

Mikiは胸の2本のみ

VRChatウィンドウからアップデート

名前、Descriptionを入力
サムネイルを設定
プラットフォームをAndroidにして
規約同意チェック
アップロード
完了!


この記事が気に入ったらサポートをしてみませんか?