Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
huideyeren committed Dec 28, 2023
1 parent bb0eff5 commit 9ddacb0
Show file tree
Hide file tree
Showing 8 changed files with 78 additions and 17 deletions.
69 changes: 60 additions & 9 deletions chapter/10_kisekae.re
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,72 @@ Android環境にも入る人については、衣装ごとにアバターは分
VRoidアバターは重くなるの承知でメッシュを分けると服を脱がすことができます。
服のメッシュの表示と非表示を切り替えるギミックが仕込まれていれば、服を脱いで水着姿になるのは可能です。
なお、私の場合はアバターが下に着ているのはだいたい水着ですが、だいたいが趣味です。
なお、これはBlenderと仲良くなっておかなければいけません。

=== Blenderですること
=== VRoid Studioですること

これから述べる点に気をつければ、普通に作って問題ありません。

なお、気をつける点は下着と靴下です。
これらはボディスーツとして作らなければ、肌に直接書き込まれます。
そのため、いざ脱がそうとしても脱がせなくなってしまいます。
特に、靴下はお風呂入るときに脱ごうとしても脱げないと混乱する羽目になります。
脱がす可能性のある下着や水着、靴下はボディスーツとして作る必要があります。
なぜなら、下着や普通の靴下の場合は身体のテクスチャにそのまま重なってしまうからです。
その場合、全体を縮めておくことが重要です。
靴下や下半身の下着は「全体を縮める」を100に設定することが大事です。
それでもはみ出すときはテクスチャを消しましょう。

//image[fit-all][ボディスーツの全体を縮める][scale=0.6]{
//}

服を
それと、靴下をボディスーツで着せていない場合は脱がせません。
なぜなら、肌着や普通の靴下の場合は身体のテクスチャにそのまま重なってしまうからです。
ボディスーツで靴下を着せれば脱がせられるのですが、その場合は靴に入らなくなります。
なので、脱がすギミックを仕込む場合はサンダルにして当初から靴下を履かないように作りましょう。
なお下着や水着の上半身はただ全体を縮めるだけだと鎖骨周りが不自然な場合があるので、その場合は適時パラメーターを調節することが必要になります。
ただし、この対策をしてしまうと服からはみ出るリスクもあるので、着せかえとはトレードオフになるリスクもありますので、どう着せるかの戦略をしっかり練っておく必要があるでしょう。

=== Blenderですること

脱がせる服のメッシュはVRM出力する前に分けたまま出力する必要があります。
メッシュは少ない方がリソースの負担は少ないですが、分かれていない場合はそもそも一部分だけを非表示にできません。
VRMをコンバートする際にメッシュは統合されてしまいます。
それを防ぐにはNot Combine Renderer Object Namesを設定します。
これを使うことで衣服のメッシュを統合しなくてもよくなるわけです。
つまり、メニューで衣服のオンオフを設定できます。
要は、下着や水着までは脱がせるということです。
なお、ボディスーツを下着にしている場合はこれもメッシュを分けることが可能です。
しかし……そこから先はパブリックインスタンスで使いたいならやめておきましょう。
これで、コンバートすれば好きに改変できます。
もちろん、何も着ていない素体をそのまま出力することもできますが、その場合にはレイティングに気をつけないと公式からきついお叱りが飛んでくるのでご注意ください。
これで、コンバートすれば好きに改変できます。

=== Unityですること

VRMを読み込んで表情の設定が終わったらVRMをVRChat形式にコンバートする必要がありますが、その際に服のメッシュを統合しない設定にしなければいけません。
VRMをVRChat形式にコンバートする際、何も設定しない場合にはメッシュを統合してしまいます。そうなるとせっかく脱がせられるようにしたのに脱げないという事態になります。
そのためには@<img>{7_vrc_essential|vrm-convert}で紹介したNot Combine Renderer Object Namesの項目で分けたメッシュを指定する必要があります。
これによって、服のメッシュを分けたまま着せ替え設定をすることができます。

その次に、そのメッシュをON/OFFできるように設定をする必要があります。
ギミックの設定のところで紹介したAvatarMenuCreater for Modular Avatarを使って、服のメッシュをオンオフできるように設定します。
これで動作を確認すると、VRoidアバターで服の着せかえができるようになります。

== Modular Avatarを使って複数のアバターを着せ替える

で、これまでは1種類の服を着せ替えることしかできませんでした。
しかし、Modular Avatarの力を借りれば、衣装さえ用意できれば着せかえができるということになります。
これに関しては@<bib>{no-rashomon>}で紹介されている方法を持ちいるとうまくいくでしょう。
そのためには、同じ素体の衣装出力用VRMをもう一個作ってしまえばよいのです。
どうせ他のメッシュは消すので、ボーンを節約するために髪の毛はない方がよいでしょう。

//image[hage][衣装出力用のアバター][scale=0.6]{
//}

で、これも普通のアバター同様にBlenderでボーンの最適化をして再度VRMに出力しておきます。
目や口の設定については不要です。どうせ消すので。
もちろん、服のメッシュを分けておかないと服として使えなくなるのでそこはお忘れなきように。

で、UnityでこのVRMを取り込んだら、まずすべきは衣装以外のメッシュを消します。
その時活躍するのがMeshDeleterWithTexture@<fn>{mesh-deleter}です。
これで、服以外のメッシュをすべて消すと、服だけのPrefabが出来上がります。
この際に、間違えてウェイトの乗っているボーンを消すと愉快なことになるのでご注意ください。

//image[hashira][ウェイトの乗っているボーンを消してしまって愉快なことになった例]{
//}

//footnote[mesh-deleter][https://booth.pm/ja/items/1501527]
4 changes: 3 additions & 1 deletion chapter/5_blender.re
Original file line number Diff line number Diff line change
Expand Up @@ -132,4 +132,6 @@ Save Atlas To..をクリックするとマテリアルが結合されます。
//}

これが終わったらVRMに出力します。
VRMを保存し終わったらVCCとUnityの世界に帰れます。
たまにHipsが設定されていないと言われる場合もありますが、そこはうまく設定しましょう。
そして、VRMを保存し終わったらVCCとUnityの世界に帰れます。

5 changes: 4 additions & 1 deletion chapter/7_vrc_essential.re
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@ VRMアバターのBlendShapeを開き、それぞれの表情にBlendShapeを設
//image[vrm-blendshape][VRM表情の設定][scale=0.6]{
//}

なお、シェイプキーがあればVRChat形式にコンバートした後で後述するFaceEmoというツールで表情を設定することもできます。
これを使うとVRM形式とは別に表情を作れるのでいろいろ表情を追加できるでしょう。

== VRChatアバター形式にコンバートする

これが終わったらアバターをVRChatで使える形式にコンバートしましょう。
私は基本的に揺れものは全削除し、その後で設定するようにしています。
それとメッシュを分けていた人はここで要注意です。
それとメッシュを分けていた人はここで要注意です。メッシュを統合しないように設定する必要があります。
あとはPhysBoneを設定するなり、ギミックを仕込むなりお好きにどうぞ。

//image[vrm-convert][VRMをVRChatで使える形式にコンバートする][scale=0.6]{
Expand Down
17 changes: 11 additions & 6 deletions chapter/bib.re
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,41 @@
//}

//bibpaper[VRCQuestLimit][VRChat公式のAndroid系環境での制約についてのページ]{
VRChat: Quest Content Optimization @<br>{}
VRChat: Quest Content Optimization@<br>{}
https://creators.vrchat.com/platforms/android/quest-content-limitations/
//}

//bibpaper[VRCQuest][VRChat公式のQuest対応についてのページ]{
VRChat: Quest Content Optimization @<br>{}
VRChat: Quest Content Optimization@<br>{}
https://creators.vrchat.com/platforms/android/quest-content-optimization/
//}

//bibpaper[VRCPerformanceRanks][VRC公式のQuest対応についてのページ]{
VRChat: Performance Ranks @<br>{}
VRChat: Performance Ranks@<br>{}
https://creators.vrchat.com/avatars/avatar-performance-ranking-system/#quest-limits
//}

//bibpaper[umakachan][うまかちゃんさんのVRoidアバターQuest対応の記事]{
note: VRoidが正式版になったのでQuest版の完全対応手順を考えてみた奴 by うまかちゃん
note: VRoidが正式版になったのでQuest版の完全対応手順を考えてみた奴 by うまかちゃん@<br>{}
https://note.com/umakachan/n/n0768d611845a
//}

//bibpaper[vdcm][ビデカメさんのVCCのコマンドラインインターフェースの記事]{
Zenn: 【VRChat】VCCをCLIで使う。 by ビデカメ
Zenn: 【VRChat】VCCをCLIで使う。 by ビデカメ@<br>{}
https://zenn.dev/ytjvdcm/articles/a5b6318b8a3995
//}

//bibpaper[metacul][メタカル最前線の有用なVCCツールの記事]{
メタカル最前線:
【コラム】VCCにこれは入れておけ! アバター改変の便利ツール紹介 by 東雲りん
【コラム】VCCにこれは入れておけ! アバター改変の便利ツール紹介 by 東雲りん@<br>{}
https://metacul-frontier.com/?p=7292
//}

//bibpaper[no-rashomon][VRMアバターから服のデータを抜き出す方法]{
しびびびび: 羅生門ツールを使わずに服を取り出す@<br>{}
https://tomo-shi-vi.hateblo.jp/entry/20220724/1658602720
//}


//embed[latex]{
\end{thebibliography}
Expand Down
Binary file added images/fit-all.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/hage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/hashira.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/sakotsu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9ddacb0

Please sign in to comment.