VRoidモデルをVRChat Quest版で使うとHairが透過して片面しか描画されない問題に対策をしたメモ

3Dモデリング

バーチャル3Dクリエイター神部まゆみです(*^-^*)

この記事は、VRoidモデルをVRChat Quest版でアップするとHairが透過してしまう対策をしたメモです。

前回の記事はこちら。

VRoid Studioで作ったモデルをVRChatに上げてみたメモ➁ 透過を調整してQuest版でアップしてみた
VRoid Studioで作ったモデルをVRChatにQuest版で上げてみました。テクスチャやシェーダーの透過などを調整しました。
■PR■

現在Meta Quest2を買うと、なんとBeat Saberがタダで貰えるようです(2022/12/31 23:59まで)。ザッカーバーグ氏太っ腹すぎる…Σ(゚Д゚)

Meta Quest 2—完全ワイヤレスのVRヘッドセット【数量限定Beat Saber無料ダウンロード付】—128GB|Amazon

この機会にメタバースデビューしておくのも良いかも。

VRChat Mobile/Standard Liteシェーダーだと髪の毛が透過して変になってしまう

私のモデルだと髪の毛の後ろ髪?部分が前から見ると透過して表示されない。

しかし横と後ろから見るとちゃんと表示される。

原因:片面しか描画しないせい

Mobile向けシェーダーだと負荷を減らすため?に片面しか描画しないみたい。

法線が裏側になってる部分は表示されないっぽい。

 

まぁQuest向けだし多少おかしくてもいいや…と割り切るならあんまり気にしなくてもいいとは思う(;^_^A

まゆげやアイラインの透過失敗で海苔状態になってしまう対策は前回やった

前回の記事の手順1~3のあたりです。

VRoid Studioで作ったモデルをVRChatに上げてみたメモ➁ 透過を調整してQuest版でアップしてみた
VRoid Studioで作ったモデルをVRChatにQuest版で上げてみました。テクスチャやシェーダーの透過などを調整しました。

このあたりはどれだけ調整するか次第かな?

まぁある程度できてればいいのでは。

対策:メッシュをコピーして両面表にする

いくつか方式はあるっぽい?けど、これは以前やった原始的な手口が使えそうかな。

blender archimeshアドオンの、窓法線の裏表を反転して整えたメモ
バーチャル3Dクリエイター神部まゆみです(*^-^*) 前回blenderのarchimeshアドオンで部屋を作ってみたけど、法線が整ってなかったから調整してみました。 前回の記事はこちら。 窓ガラスの法線が逆...

手順1:VRoid Studioでマテリアル数8以上でエクスポートする

マテリアル数2まで削ると、HairがBodyと結合されてしまう。

構造的に分離したパーツで分割すればいけるだろうけど、メッシュとマテリアルはblenderでも結合できるしとりあえず多めで。

blenderで読み込んで、Hair単体のメッシュがあればOK。

手順2:Hairを複製して法線反転させる

Hairを選択してShift+Dで複製、G+Yでちょっとだけ前にだして、メッシュ⇒ノーマル⇒反転で法線を反転させる。

法線は最後に見ながらまた調整したほうがいいかも。

StandardLiteシェーダーだと裏側は描画されないので。

 

複製後移動はさせなくてもいいかもしれないけど、頂点座標が重なるのはあんまりよくないかもしれないので。

なんか頂点が重なってるとunityで警告出たし。

unityで「A polygon of Mesh~ is self-intersecting and has been discarded.」警告が出て解消した備忘録
unityで「A polygon of Mesh~ is self-intersecting and has been discarded.」警告が出た時の解消法を解説します

手順3:必要ない部分を削除してポリゴン数を減らす

3000くらい△面が増えちゃったけど、これはあくまでも髪の裏側を表示させらればいいから、前髪~頭頂部あたりはバッサリ削除しちゃっていいと思う。

Fallbackアバターにしたいからできるだけ減らしたい。

 

髪の毛上部をゴッソリ削除したら893まで減った。

なんかどうしても削除できない頂点があった(・_・;)

とりあえずunityに持って行っても変な表示なるとかはなかったからいいか…。

デシメートモディファイアで更に減らす

透過してしまう部分に一応メッシュがあればいいと思うので、そんなにポリゴン数はなくてもいいと思う。

Fallbackアバターにしたいからできるだけ削減したい。

 

デシメートしたら300までへった。

手順4:ついでにメインのHairもデシメートして結合する

BodyとFaceは後でやるけど、今回はHairだけで。

1500くらいが限界か…?でもFallbackアバター用にするならもっとカクカクでも別にいいかもしれない。

あとモデルの髪型にもよると思う。

これでモディファイア適用して、Hairを結合してunityに持っていきます。

unityに持って行って見てみる

unityに持って行ってStandard Liteシェーダーにしてみたところ。

透過はちゃんと直った!

左右後ろもOK。

下から見てもOK。

ダメな場合は、追加したHairの法線が逆になっているかもしれないので法線を調整しましょう。

あとはマテリアルとメッシュを結合して一つにして、ポリゴン数7500以下にすればいけそう

警告出てるのがあとマテリアルとメッシュとポリゴンだけなので、ここをなんとかすればパフォーマンスGood以上行けそうです。

テクスチャベイクすればマテリアル1にできるから多分大丈夫だと思う。

ボーンは適当に髪の毛と服のやつを削除したら60個くらいに減らせました。

VRoidStudioで作ったモデルのボーンをblenderで削減してみたメモ
VRChatでFallbackアバターとして使いたいので、VRoidStudioで作ったモデルのボーンをblenderで削減してみました。

 

別にFallbackアバターにするだけなら削減しまくれば結構簡単なんだけど、ある程度見た目を担保しつつやるとなるとちょっと大変かも。

デシメートしすぎると穴空いたりするし(・_・;)

おわりに

ポリゴン数300増くらいで解決できたから良かった。

まぁ別に割り切るならやらなくてもいいかもしれないけど(;^_^A

 

もう少しいじってみます(*^-^*)


追記:Fallbackアバターとしてアップできました。

VRoidモデルをVRChatにFallbackアバターとしてアップしてみたメモ
VRoidモデルをVRChatにFallbackアバターとしてアップしてみたメモです。ボーン削減やテクスチャベイク、透過対策など

 

タイトルとURLをコピーしました