VRoidモデルをVRChatにFallbackアバターとしてアップしてみたメモ

Blender

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

VRoidモデルをVRChatにFallbackアバターとして上げてみたからそのメモです。

前回の記事はこちら。

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

現在、ファンタジーゲーム制作に使える人気unityアセットが50%オフで買える unityファンタスティックファンタジーセールをやってるみたいです。

unityファンタスティックファンタジーセール 50%オフ

欲しいアセットはこの機会に買っておくと良いかも。

 
 

 

 

VRoidモデルをQuest版 Fallbackアバターとして使えるようにアップした手順

 

手順1:VRoid Studioで透過テクスチャを調整して、できるだけ削減してエクスポートする

Quest版のStandard Liteシェーダーだと透過が使えないので、透過を使っているテクスチャを調整してエクスポートします。

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

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

マテリアル数8と2でエクスポートしといたほうがいいかも…?

この後hairを複製して法線反転させて、Quest版シェーダーの片面透過対策をやるため。

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

マテリアル数2にするとBodyとHairが一体になってしまうから、blenderで分割しないといけなくて面倒なので。

12か削減なしでもOKだけど今回は8でいきます。

 

あれ、でも上のエクスポート情報だと6になってるw

vroid studio エクスポート マテリアル数6

でもこの後blenderに読み込んでHairメッシュが単体であったからOK。

 

削減の様子はこんな感じ。

マテリアル8でやったら何故かテクスチャベイクに失敗した(-_-;)透過対策の髪の毛を作れたらマテリアル2でやる

この後テクスチャベイクするんだけど、マテリアル8でやったらテクスチャベイクで何故か失敗した(-_-;)なんか真っ黒になってしまった。

マテリアル8にしてるのは透過対策のためのHairを抽出したいからだけど、一度作ってしまえば同じモデルならコピペで使い回せる。

マテリアル2のやつでやったらちゃんとベイクできたので、マテリアル8とマテリアル2のやつを両方エクスポートしておくと良いかも。

手順2:blenderに読み込んで髪の毛を複製して法線を反転させる

これはマテリアル8でエクスポートしたモデルでやった。

これも別記事に書きました。

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

これでこんな感じのメッシュが作れた。

法線が正面を向いてるので、モバイルシェーダーで片面しか表示されなくても大丈夫。

 

次にテクスチャを一枚にベイクするけど、マテリアル8のやつだと何故か失敗して真っ黒になってしまったので、ここからはマテリアル2のやつでやる。

作ったHair-Backはマテリアル2のモデルにコピペします。

手順3:blenderでテクスチャを一つにベイクしてまとめ、マテリアル一つにする

テクスチャベイクしてマテリアルを一つにできれば、Fallbackアバターとして使える。

こちらの優秀な先輩のページがとても参考になりました。

ありがとうございます(*^-^*)

【Blender】複数に分けたテクスチャを1枚に統合(ベイク)する方法 | けものこばち
VRChat用のアバターを用意するに当たって、テクスチャをベイクする必要があったので、その方法をまとめてみました。モデルのマテリアルごとに、それぞれテクスチャ画像を設定しているものを、1枚のテクスチャ画像に統合して、すべてのマテリアルで、統合したテクスチャ画像を参照するように変更していきます。

 

…これなぜかマテリアル8でエクスポートしたVRoidモデルだとベイク失敗したので、マテリアル2でエクスポートしたやつでやります。

詳細はリンク先を見てもらうとして、ダイジェスト的に動画を置いておく。

UVマップを新規で作って、BodyやFaceなどオブジェクトごとにUV展開して一つのUV展開図にまとめていく感じ。

「ディフューズ」でベイクしたら真っ黒になってしまったけど、「統合」でベイクしたらいけた。

ベイクが終わったらテクスチャを忘れずに保存しておく。

 

↓UVマップを切り替えてシェーダーノードをつなぐ

見た目がおかしいけど、この後メッシュを結合してマテリアルを削減し、unityに持っていったら正常な見た目になっていた。

ので現時点では気にしなくてOK。

これ多分シェーダーノードがUVマップの設定がおかしいんだと思うけど、今の私の技術力では原因不明(;^_^A

手順4:blenderのデシメートモディファイアでBodyのポリゴンを削減する

VRoid Studioでエクスポートする前に削減しておけばだいぶ減らせると思うけど、まだ13000くらいある。

Fallbackアバターにするには7500以下には減らしておきたい。

合計のポリゴン数が7500以下になるよう削減すればOK。

 

faceはシェイプキーがあるのでデシメートモディファイアが適用できず、Apply Modifierアドオンを使ってもエラーが出たので削減できないみたいです(~_~;)

なので削減するならBodyかHair-Backしかない。

Faceメッシュは、Apply Modifierアドオンでデシメートモディファイアを適用しようとするとエラーが出るっぽい

一応ダメだった事例として触れておくけど、Apply Modifierアドオンはシェイプキーがあるメッシュをデシメートする場合は使えないっぽい?

Faceメッシュをデシメートして適用しようとしたらシェイプキーがあってダメだったので、Apply Modifierアドオンで適用しようとしたけどエラーが出てダメだった。

多分頂点情報が削減されてシェイプキーが壊れてしまうからかな。

GitHub - Taremin/ApplyModifier
Contribute to Taremin/ApplyModifier development by creating an account on GitHub.

blender apply modifier

エラー内容はこんな感じ。

Python: Traceback (most recent call last):
File “C:\Users\MK-Mayumi\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\ApplyModifier-master\__init__.py”, line 234, in execute
apply_modifier(target_object=bpy.data.objects[objname], target_modifiers=str_targets)
File “C:\Users\MK-Mayumi\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\ApplyModifier-master\__init__.py”, line 169, in apply_modifier
bpy.context.window_manager.popup_menu(draw, title=”Error”, icon=’INFO’)
File “C:\Program Files\Blender Foundation\Blender 2.93\2.93\scripts\modules\bpy_types.py”, line 158, in popup_menu
draw_func(popup, bpy.context)
File “C:\Users\MK-Mayumi\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\ApplyModifier-master\__init__.py”, line 165, in draw
self.layout.label(“Vertex Count Disagreement! Some shapekeys skipped.”)
TypeError: UILayout.label(): required parameter “text” to be a keyword argument!

location: <unknown location>:-1

 

ちなみにこのエラーが出ると謎の作業用っぽいメッシュが残ってしまうので、このエラーが出たら削除するかアンドゥして戻しておいたほうがいいと思います。

デシメートを適用しなくてもVRMエクスポートはできるけど…

でもこれ適用しなくても行けるっぽくて、VRMエクスポートしてunityに持っていったら、デシメート後の頂点数になっていた。

デメリットとしては、適用されないから編集モードにするとデシメート前の頂点情報になってしまうこと。

しかしblenderでメッシュを結合すると、モディファイアは適用されずに削除されてしまうみたい。

VRMエクスポートする直前にやるならいいけど、メッシュ結合前にやるのはダメっぽい。

でもこれでunityに持っていくとシェイプキーが消滅していたので、やっぱりFaceはデシメートしないほうがいいかもしれない。

 

とりあえず今回はFaceメッシュはデシメートせずに、BodyとHairだけデシメートしてやってみます。

それでも7500以下にはできました。

あんまり削減しすぎると穴空くからギリギリでいいかな(;^_^A

手順5:メッシュ結合する

Body、Face、Hair(透過対策用) の三つがあるので結合します。

Shift押しながら三つとも選択して、Ctrl+Jで。

vroid 結合 ctrl+J

マテリアルを削除する

結合したので、三つあるマテリアルを一つに削減する。

N00_000_00_Body_00_SKIN (Instance) ってやつだけ残せばいいっぽい。

見た目は相変わらずおかしいけど、このままunityに持っていく。

手順6:blenderに読み込んでいらないボーンを消す

これは別にいつやってもいいけど、ここでボーン削減しておく。

これは別記事に書きました。

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

 

削除の様子はこんな感じ。

髪の毛と服のボーンを消せば59個までボーン削減できた。

間違えて首や腕のボーンを消さないように注意。

手順7:エクスポートしてunityに持っていく

 

unityに持っていったらちゃんと表示された!

ダメならベイクしたテクスチャを手動でマテリアル適用すると大丈夫かもしれない。

 

VRChat/Mobile/Toon Litにしたらいい感じに。

あとはアイラインが透過失敗してるところをなんとかすれば…。

faceはデシメートしてないのでちゃんと表情シェイプキーも動きます。

アイラインが黒くなっている部分を調整する

GIMPで開いてみたけど、どうもこの黒いあたりがダメっぽい。

 

GIMPの色交換で肌色にしてみる。

範囲選択してからやると、選択範囲内の指定した色だけ変えられます。

 

まだちょっと黒いけど、あとは調整次第か…。今回はそこまで細かくはやりません(;^_^A

とりあえずこれでいいかな。

手順8:VRChatにアップロードする

VRC Avatar Descriptorを追加する。

 

やった!androidでも余裕のパフォーマンスExcellent!!

カスタムフォールバックとして使えるって書いてありますね。

vrchat vroid fallback excellent パフォーマンス

windowsとandroidでアップする

両方アップしないといけないっぽい?ので両方やります。

androidビルド

 

windowsにスイッチして、

windows版でもアップする。

動作確認する

おお!My Creations For Fallbackのところにちゃんとありますね(*^-^*)

 

まぁ特に問題なく動きますね。

削減してちょっと穴空いてるのは調整するしかないかな(;^_^A

 

これFallbackアバターは普通のアバターとは別モノ扱いみたいな感じ?っぽい。

メインをデフォルトのモデルにして、Fallbackアバターを自分でアップしたやつにしたりできる。

手順が分かればまぁまぁ簡単にできるので、削減してFallback用のアバターも用意しておくと便利かもしれない。

おわりに

ざっくりやったのでアラは結構あるけど、一応アップできて良かった。

あとは調整次第かな?

ある程度できたらBOOTHあたりに置いておきたいけど、もう少しVRChatの勉強したほうがいいかな(;^_^A

Fallbackアバターにしておけば制限で引っかかっても表示されるので、作っておくと便利かもしれない。

 

気が向いたらMakeHumanで作ったモデルとかもアップしてみるかもしれない。

MakeHumanの使い方!インストールから日本語化・設定項目をGIFアニメで紹介
バーチャル3Dクリエイター神部まゆみです(*^-^*) この記事は、MakeHumanっていうソフトを使ってみたから、どんな感じかの紹介記事です。 MakeHumanっていうのはこれね。 MakeHumanを使えば、手軽に...

 

あとはワールドでも作ってみようかな。部屋とかも作り込んでみたいし。

まぁ飽きないように色々やっていこうと思います(*^-^*)

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