見出し画像

VRoidアバターをVRChatのQuestへ対応させる

Vroidでアバターを作ったもののMeta Questで表示するとなると最適化や軽量化が必要です。

アバターをVRCへアップロードできる方向けの記事なのでVRoidやVRCSDK、Unityなどの説明は省いています。

おおまかに流れですが

  1. Vroidから軽量化したVRMの作成

  2. Unityでのマテリアルの設定

  3. Unityからのアップロード方法

となります。

1.Vroidから軽量化したVRMの作成

軽量化も様々ですが今回はVRoidでこのような対応をしています。

  • 不要な透過マテリアルを使用しているものを削除、調整

  • 眉毛、まつ毛の統合

  • 揺れもの削除

  • VRMエクスポートの設定

不要な透過マテリアルを使用しているものを削除、調整

これはのちにUnityからマテリアルを変更するため、透過の処理ができなくなる対応です。※後述します。
今回はアクセサリ、眼鏡のガラス部分は非表示にして対応しました。
必要に応じて設定を変更してみてください。

中身のレンズ部分の削除or非表示

眉毛、まつ毛の統合

こちらも透過を使用しているので顔のテクスチャに書き込む形で統合しました。そのためVRoidの設定ではまゆげとまぶた、アイライン、目の周りのものは非表示にして肌にすべて書き込んでください。

⇦統合前 統合後⇨
目のパーツ自体を肌テクスチャにマージ(書き直し)しています


髪も透過が使われてていることが多いのですが
その場合はBlenderなどDCCツールで調整など必要です。※後述します。

揺れもの削除

リボンなど揺れもののPhysBoneは削除。

VRMエクスポートの設定

VroidのVRMエクスポートから書き出しを設定。
VRCのQuest向けにPoor判定になる設定を見直します。

  • 透明メッシュを削除するにチェック

  • 髪 59

  • 顔 100

  • 体 77

  • 衣装 100

  • マテリアル数を2に変更

  • テクスチャアトラス解像度 2048

にしました。設定は以上です。
都度数字の調整は必要ですがエクスポート情報のポリゴン数が15,000以下にしてください。

2.Unityでのマテリアルの設定

書き出されたVRMをUnityへ読み込みます。
ヘッダーメニューのVRM0からImport from VRM 0.xでVRMファイルを読み込みます。
読み込まれたPrefabを選択しVRM0Deplicate and Convert for VRChatから変換をします。

Prefabを展開
Bodyを選択してinspectorのシェーダーをVRM/MToonから
変換したファイルのマテリアルをToon Litに変更します。表示されているマテリアルすべてに適用します。

この時顔がおかしくなったらテクスチャを調整してみてください。
目の周りのポリゴンが表示されている可能性があります。

3.Unityからのアップロード方法

上記うまくいけばそのままアップロードするだけです。

保存したファイルを新規シーンのHierarchyにドラック。
ヘッダーメニューのVRChat SDKからShow Control Panelを選択。
Show Control PanelタブBuilderに切り替えてSwitch Build Target to Androidをクリック。

Build & Publish for Androidに変更されたらクリック。

Update AvatarからThis above〰にチェックマークを入れてUploadで完了です。VRChat SDKタブのContent Managerを見るとアップされていることがわかります。
お疲れ様でした。

その他エラーなど

VRChat SDKが以下のようになっているとアップロードができません。赤い!マークになっている箇所でエラーとなっています。
このケースはマテリアルの変更とPhysBoneの設定がおかしいといわれているので上記で記載しているマテリアルの変更、PhysBoneの設定を見直してください。

これは失敗しているときです

サムネイル
設定しないとT字でサムネイルが作成されるため
必要があればサムネイルを調整しましょう。UnityでQuadを作成 3:2のサイズにしてマテリアルをはめ込みます。Build & Publish for Androidをクリックした後
Update AvatarでUpload Imageにチェック Sceneビューで位置やサイズを調整してみてください。

DCCツールでの調整
髪の毛先の部分は透過されているので目立つところをBlenderのナイフツールで削ります。

追記

Quest3のリリースも控えていますが根本的なところは変わってなさそうなので単体で動かすなら必須になるのでは?VRChatはモバイル版もリリースのニュースがあるのでまだしばらく対応が必要そうですね。

なおclusterなら特に削減がなく使えます。


いいなと思ったら応援しよう!