バーチャル3Dクリエイター神部まゆみです(*^-^*)
VRoid Studioで作ったモデルをVRChatにQuest版でアップしてみたので、それについての記事です。
前回の記事はこちら。

調べたらやり方は人によって違うみたい?
勉強のために試行錯誤しながらやってみたいので、自力で考えながらやってみます。
VRoidモデルをVRChat Quest版としてアップした手順:
アップするだけなら、容量削減してVRChatモバイルシェーダーに設定すれば普通にいけます。
が、透過で不具合が出るのでそのあたりを調整する必要がありました。
手順1:VRoid Studioで透過を使っているテクスチャを消して調整する
ここが一番めんどくさいか…(~_~;)
VRChat Mobileシェーダーだと透過が使えないみたいなので、VRoidモデルの透過を使っているところを調整した。
- 瞳ハイライト
- まつげ
- まゆげ
あたりかな?
あとは透過を使っている服は対策しないとダメかも。
でも服はシェイプキーもないから、blenderで変な部分のメッシュを調整したり削除したりすればいいかもしれない。
瞳ハイライト
これは瞳のテクスチャと合成すればいける。
ハイライトなしのプリセットを選ぶ。
瞳のハイライトをエクスポートしておき、目のレイヤーにインポートすると良し。
こうするとハイライトの透過を使わなくて済む。
まつげ
まつげなしのプリセットを選ぶ。一番下にある。
これは別になくてもいいかな…?アイラインのところに張り付ければいけるとは思うけど。
アイラインだけでもなんか十分まつ毛っぽいし…(笑)
これ地味にメッシュが存在してるのか、まつげなしにしてもメッシュがあった。
blenderで削除したけど、その後特に問題なく使えたからblenderで読み込むなら削除してもいいかも。
まゆげ
これはまゆげ無しにして、顔の肌テクスチャに手動で合成したらいけた。
けどこの方式だと表情シェイプキーでまゆげが動かなくなるので、まゆげを動かす表情にしたいならblenderでいじる必要あり。
詳細は後述。
まゆげなしのプリセットを選ぶ。
これ独自のUV構造みたいなので、肌テクスチャにインポートしたらおかしくなった。
後でペイントソフトで肌のテクスチャに合成するので、使っていたまゆげのテクスチャをエクスポートしておく。
まぁこのくらいなら手動でパスツールで描いて反転コピペしてもいいかな(;^_^A
手順2:できるだけ容量削減してエクスポート
ヘンにならない範囲で削減してエクスポートする。
とりあえず今回はマテリアル2にすればQuest版の条件は満たせるので、できるだけ削減してマテリアル2にすればOK。
テクスチャは4096×4096である必要はないから2048×2048でいいかな。
でもblenderで調整する場合は、マテリアルは削減しないでやったほうがblenderで調整しやすいかもしれない。
マテリアルの結合はblenderでもできる。
とりあえず今回はそんなにいじらないので、マテリアル2でいきます。
手順3:ペイントソフトでテクスチャを加工する
加工しなくてもアップはできるけど、見た目がやっぱりおかしくなる。
後で何度でも修正できるから、先にアップまでやってしまっても良し。
エクスポートしておいたまゆげを顔肌テクスチャに追加する
これ一回unityに持って行って、uniVRMでインポートしたほうがいいんだったかな?
そうするとテクスチャが解凍されてるので、Image0のテクスチャを加工する。
今回はGIMPでやるけど、まゆげを全選択してコピー、Image0のテクスチャにレイヤー追加してペーストして位置とサイズを合わせればOK。
まぁ変に見えなければだいたいあってればいいと思うw
肌の透過部分を肌色で塗っておく
このままunityに持って行ってVRChatモバイルシェーダーを使うと、アイラインが透過されずにおかしくなる。
眉毛もこうなるはずだったけど、上で対策しておいたから大丈夫。
ちなみにVRChat界隈では通称「海苔」と呼ばれているらしいです(笑)。
透過部分が黒く表示されてるのが原因なので、GIMPで下にレイヤー追加して、肌の色をスポイトで取って塗りつぶした。
これをunityに持って行って、VRChatモバイル ToonLitシェーダーを適用したらこうなった。
ポリゴンの削減度合いにもよるか…?ちょっとアイラインと白目のあたりがはみ出てるのは仕方ないか。
髪の毛が透けているのは、片側しか描画しないからみたい
髪の毛が透けてるのは、モバイルシェーダーだと片面しか描画しないからみたいです。
後ろや横の視点から見てみると、普通に髪の毛が存在します。
直し方はいくつかある?っぽいけど、以前やった原始的なメッシュコピペ背中合わせ法みたいな感じでやってる人が多いか?w

でもポリゴン数が増えてしまうので、ある程度妥協したほうがいいかもしれない。
「Quest用だからどうでもいいや」と割り切るなら特に気にしなくて良し(笑)。
一応hairをコピペして法線反転したらいい感じになったけど、ポリゴン数はやはりちょっと増えてしまった。
アップはできたけど、ポリゴン削減したりマテリアル結合しないといけなかったりするから面倒(~_~;)
後でFallbackアバターにするために調整するので、とりあえず今回はスルー。
余裕があったら後でやるかも。
追記:やってみました。

手順4:(必要であれば)blenderでまゆげを動かすブレンドシェイプを手動で編集する
blenderにVRM_addon_for_blenderを入れてインポートする。
テクスチャでまゆげ追加したけど、プリセット的にはまゆげなしになってるので、まゆげが動くブレンドシェイプが動かなくなってしまう。
Quest版だし別に動かなくてもいいか…と割り切るなら、めんどくさいから別にこれでもいいと思う(笑)。
でも動かしたいならblenderでいじらないといけない。
まぁまゆげだけだし、適当にそれっぽく頂点移動させておけばいいかな?
face以外非表示にして顔だけにしたほうがやりやすいです。
左右同じ場所の頂点を選択して、プロポーショナル編集を使って動かすとラク。
使う予定のシェイプキーだけやるか、眉毛だけ動かすシェイプキーを作っておくといいかも?
全部やるのは大変なので、使う予定のやつだけで良いと思う。
或いは、眉毛だけ動かすシェイプキーを何パターンか作っておいて、アニメーション作る時にシェイプキーを併用すれば大丈夫かもしれない。
どうせアニメーションクリップを作ることになるだろうから、シェイプキー併用でそれっぽい表情が作れるならそれでいいと思う。
手順5:エクスポートしてunityに持っていく
特にエラーもなくエクスポートできると思う。
VRM_IMPORTERがVRM_addon_for_blenderになってから?エクスポート時のエラーがほとんど出なくなった気がする。
以前は三角ポリゴン関係のエラーが出ていた気がするけど、中でうまいことやってくれるようになったのかもしれない。
unityにVRMファイルをインポートするにはuniVRMが必要。
Releases · vrm-c/UniVRM · GitHub
v.0.100以降は、現行VRChatバージョンのunity2019系をサポートしなくなったみたいなので、v0.99.xを使ったほうがいいかも?
2022/08/01現在だとv0.99.3が最新かな。
Release v0.99.3 · vrm-c/UniVRM · GitHub
ダウンロードしたuniVRMのunitypackageをunityにインポートして、作ったVRMファイルをアセットフォルダにD&DすればOK。
プレハブとフォルダがたくさんできてしまうので、フォルダを作ってその中にインポートしたほうが良いと思う。
手順6:VRC Descriptorやシェーダーの設定をする
前回書いたのと同じだけど、シェーダーだけVRChat/Mobile内のシェーダーにする。
Toon Litあたりが一番近いかな?

一個だけエラー出てたけどAutoFixでいけた。
手順7:VRChatにアップロードする
androidにスイッチプラットフォームしてアップする。
前回アップしたPC版のモデルのBluePrintIDをコピペしてIDを同じにする。
特に問題なくアップできた。
動作確認!ちゃんとQuest版で動いた!
ちゃんと動いてますね!( *´艸`)
アニメーションクリップ作って表情変えるやつをちょっとだけ設定してみました。
ファッキューしてるように見えるのはたまたまですw
眉毛もちゃんと動いてるので良かった(*^-^*)
Tシャツの肌が透けてるのはVRoid Studio側で肌マスク使わないとダメかな…。
でもこれだとパフォーマンスMediumなので、もう少し削ってGoodにしたいところ。
一応既にFallbackアバターとして使えるまで削ったけど、削りすぎてメッシュに穴が空いたため(笑)、調整にちょっと時間かかるかな?
つづく
次はFallbackアバターとしてアップしてみようかな。
既にアップして動作確認はしたけど、削りすぎてメッシュに穴が空いたり気になる部分が出てきた(・_・;)
まぁFallbackアバターなら割り切って使えばいいとは思うけど…。
もう少しいじってみます(*^-^*)