見出し画像

Vroidで、もっときれいに輝きたい!

twitter@chitose0107
この記事は、2022年の4月から5月にかけて書かれたものです


みなさんこんにちわ、ちとせです♥
VroidをいろいろがんばってめちゃかわにしてVRCに持ち込むためのノウハウが溜まってきたので、自分なりに書いてみました

第1部は、VroidをVRCに持ち込む方法のまとめ
第2部は、めちゃかわにする方法
第3部は、Vroidで作ったほかの衣装に着替えられるように設定する方法
第4部は、さらに踏み込んだ改変

という構成でやっていきたいと思います
大半の内容は他のサイトでも個別に扱われていると思いますので、詳細を知りたい場合や別の角度から知りたい場合は、この記事をとっかかりに色々検索してみてください

これをよめばLiltoonの設定、PBの設定、羅生門とキセテネの使い方、Radial Inventory Systemを使った着替え、ボーンの可動域の設定などの知識をあるていど身につけられると思います
また、フルトラ時に顕著なVroid特有のなで肩の矯正についても第4部で解説しています
他のアバターの改変にも、きっと使えますよ!

🐬第1部🐬 VRCアバターをつくる

ここはVroidユーザならいつもやってるやつかもなので、軽く読み飛ばしていいかもです

1.Vroidを制作する

いつもどおりでOK! あなたはkawaiiです!

2.VRMコンバータでアバターをつくる

必要なもの
・Vroidで書き出したVRM
・Unity。適合したバージョン(Unity 2019.4.31f)になっているか確認しましょうね
・最新版のVRChatSDK。VRCのマイページ、ダウンロード欄から落とすことができます
・VRM converter for VRChat。Boothで配布されています

まずはVRChatSDKとVRMコンバーターをインポートしときましょう。
VRMファイルのVRCへのインポートは、VRM converter for vrchatという素晴らしくえらいものがあり、我々はこれを擦り倒すことになります。
くわしい使い方はググるとでてきますが、軽く解説。

さきにVroidでつくったVRMファイルをインポートするためのフォルダをプロジェクトに作って、そのフォルダにVRMをドラッグ&ドロップします。なにやら読み込みがはいって、VRMプレファブ(prefab)が自動的に生成されると思います。
(VRM converter for VRChatが導入されていないとUnity用のファイルに展開されないので注意です、必ずコンバータを先にインポートすること)

つづいてそのプレファブをVRC用にコンバートします。VRM converter for VRChatがインポートされていたら、Unityの画面上部にあるタブにVRM0という欄が表示されているはずです。
プロジェクトのVRMプレファブを選択した状態で、VRM0のプルダウンメニューからDuplicate and Convert for VRChatを押すと、VRC用のアバターを生成するメニューが表示されます。

この時に、"肩の高さ"パラメータを0.02程度にしておきましょう。Vroid特有の妙になで肩になる現象を抑えられます。
またこの際、揺れもののコンバートは「Convert VRM Spring Bones Only」を選ぶのが無難です。Vroid素体にはスプリングボーン用のコライダーが大量に入っているため、それらをインポートしないための設定です。

3.Avatar Descriptorの設定

インポートしたら、ヒエラルキーに(VRChat)とついたアバターが表示されているはずです。
アバターを選択して、inspectorウィンドウに表示されるVRC Avatar Discripter欄をみて設定していきましょうね。

・View Positionを目のあいだから鼻の上くらいの位置に置いてみましょう。もしeditを押しても表示されない状態になっていたら、SceneタブのGizmoボタンを押すと表示されるかもです

・身長の調整をしましょう。View Positionの数字をみながらTransformのScaleを触って身長を調整します(単位はメートルです)。慣れてきたら、ここで何倍にしたかを覚えてVroid側の画面に戻って、Vroid側で身長を合わせておいた方がよいです。ここが変わっていると、羅生門ツールをつかって着替えする場合等に、衣類すべてをサイズ調整しないといけなくなってめんどくさいです

・Eye LookのRotation Statesをいったんすべて0にしましょう。ここの数値は、Vroid特有の目のギョロつきの原因になります。-2~+2程度に設定すると比較的自然に視線追従する気がしますので、視線追従が欲しい場合は調整してみてください

・Lower BodyのForce Locomotion animations for 6 points trackingのチェックを解除します。フルトラ時に下半身の移動アニメーションを停止し、トラッキングを優先するようになります

・boundsの設定をします。ヒエラルキーにあるbodyのboundsを、中心位置(Center)を0.0.0にして、範囲(Extent)を1.2x1.2x1.2にします(アバターが極端に高身長な場合はこの数字を大きくしてください)。バウンズというのは、Unityで動的なオブジェクトをレンダリングする基準になる範囲のことです。この範囲が不自然に小さいと、視界の隅や姿勢変更ツールを使った時にアバターがチラついたり消えたりする原因になります

4.アップロードしてみよう

Unityの画面上部のタブにあるVRChatSDKからプルダウンメニューを出して、コントロールパネルを出します(Show Control Panel)
認証情報を入れると、Builderというタブに移動できるはずです。
もしここで、赤い警告がでていてAutoFixボタンを押すことができる欄があったら、とりあえず押しておいたらだいじょうぶです
わからなくて不安なら、プロジェクトまるごとバックアップを取っておくと良いかもですね。

さて、問題なければアップロードします。
Online Publish欄にあるBuild & Publish for Windowsのボタンを押すと、アップロードがはじまります。
はじめてだったら、これだけでもかなり大変だったと思います
Unityがんばってとってもえらい! おつかれさまでした!!!

🐬第2部🐬 もっときれいに

続いて、めちゃかわにしていきます。
もちろんVroidで作成した時点であなたはもうkawaiiに決まっているのですが、もっともっと輝いていきましょう!

1.Vroid制作上のtips!

・素の顔のバランスはわりとクセがあるので、目指す絵柄があるならイラストかなにかを参考にしてバランスを追い込んてみてもいいかも

・Vroidでの表情設定は重要です。そのまま持ち込めます。デフォルトの表情はかなり特徴的なので、丁寧にいじっておいた方がいいかも

・シェーダを変えないならルックの設定をそのまま使うことになります。VRMシェーダの影とリムライトの表現はあまりよくないので、消しておくほうが無難かも

・髪のハイライトは消した方がいいかも。繰り返しパターンが目立って不自然だったりします
ここ4点はいわゆる”Vroidっぽさ”の強く出る部分かもですね

・パラメータは、数字を直接入力することで上限/下限を突破できます

・体型の腕や胴などを伸縮するパラメータ類は、その部分のUV(テクスチャのマッピング)だけが伸び縮みするので、ボディペイントや服の柄に影響します。たとえば、背中に大きくタトゥーを入れる場合などは胴を縮めない方がよいです

髪型の自作に挑戦するなら、プリセットから動かして作った方がよいかもです
頭頂部の生やし方とかつむじとか全体のバランスとか、デザイン以外の細かい部分がかなりむずかしいですし、グラデーションを一つづつ位置決めしてそろえる作業もめんどくさいです

・目閉じや発音以外の部分の表情すべてに「瞳を奥に移動を80.0、ハイライトを隠すを-20.0」ほど入れておくと、瞳とハイライトが分離して立体的にみえます。
また、瞳をすこし奥に置くことでみる角度によって表情が微妙に変わってみえるので、アバターの生命感が増すと思います

衣類のマスクは最小限にしといた方がいいかも
あまり広い範囲を消してしまうと、自分からは見えなくてもほかのひとからは体のない部分が見えてしまって不自然になっているかもです
貫通するのとどっちがマシか、ということになってきますが……

・髪のボーングループと固定点、ボーンの数はPBに置き換えた場合もそのまま適用され変更できませんので、きちんと設定しておくことが大切です

2.テクスチャ

プロジェクトにアバターとは別のフォルダを作り、まずはそこにTextureとMaterialあたりの名前でフォルダを作っておくと便利です。
VRMのフォルダにテクスチャとマテリアルのフォルダがありますので、windowsのエクスプローラから開いて中身を各々コピーしておきましょう

こうしてアバターと別に位置にしておくと、古いアバターを消してVroidから新しいバージョンのアバターをインポートした時などでもすぐにマテリアルをセットアップできますし、どのバージョンのアバターに入っているマテリアルが使用中なのか混乱せずに済みます

・テクスチャを変えよう!
Boothにいろいろあるので、「Vroid 肌」「Vroid テクスチャ」「Vroid 衣装」などで検索して探しましょう!
無料でもけっこうあります
自作できるなら自作してもOKですし、デフォルトから画像編集ソフトでいい感じにしていくのも良いと思います
特に肌、髪、瞳と瞳ハイライトは印象が大きく変わるのでこだわると良いと思います!
(※瞳ハイライトを自作する場合、Unityの半透明処理は色の濃淡ではなくアルファ値で指定する点に注意してください
乗算で乗せる時のように色の濃淡で描いてしまうとうまく透過されてくれません)

・テクスチャの解像感をあげる
衣類やまつげ、瞳など細かいディテールがほしい部分の解像感が足りない場合は、画像編集ソフトでテクスチャをアップコンバートします。
詳しい方法は、「ハイパス オーバーレイ」などで検索すると出てきますが、
「ドキュメントの解像度を2倍に指定→解像感をあげたい画像レイヤを複製→上になったレイヤの合成モードをオーバーレイに指定→上のレイヤにハイパスフィルタをかける」
これだけです。無料のGIMPでも可能なので、衣類などで挑戦してみてください
テクスチャをインスペクターから開いて、テクスチャごとの最大解像度を指定することができます
Unityにおけるテクスチャの解像度は1辺の長さを2の累乗単位で指定できる正方形で、1k(1024)、2k(2048)、4k(4096)、8k(8192)のいずれかに指定するとUnityとの相性がよいです
アプコンした画像は、Vroidで読み込もうとするとクラッシュするので、こちらはUnityでの編集用としてわけておいてください!
また、基本的にCrunch Compressionはすべてオンでよいと思います
テクスチャの特性にもよりますが、クランチしないくらいならアプコンして解像度を1段階あげてしまってクランチした方がきれいでサイズが小さくなる気がします

テクスチャについてさらに補足すると、8192に指定した場合は解像度の上限が解除されます
基本的には8kでも高解像度すぎるくらいなので不要ですが、もしものすごく緻密な表現が必要な場合は例えば16k(16384)解像度という選択肢もあります

・肌の色を変えよう
テクスチャの色、特に肌の色はVroidやUnityで調整せずにはじめから画像編集ソフトで合わせてしまった方がよいです
その場合、特に重要なのが顔と体の肌色のシャドウ部を同じいろにそろえておくことです。ここが一致していないと、同じマテリアル設定にしても継ぎ目が見えてしまいます
改変する際に顔と身体とでまったく同じ手順でエフェクトをかけるという手もありますが、画像編集ソフトでグラデーションマッピングというエフェクトを使うと精確にコントロールでき、きれいに仕上がります
また、グラデーションマッピングを使用することで、顔と身体とで別の素材を使った場合でもきっちり同じ色にそろえることができますよ

3.liltoonでセットアップ

シェーダーは個人的推奨がliltoonなので、liltoonで解説します
ダウンロードしてきて、プロジェクトにインポートしましょう

なぜliltoonか。liltoonは日本語なので日本人にとてもやさしいし、近々Unityのバージョンアップがあった場合もそのまま使用できると言われています。
使いやすく十分すぎるくらい多機能なので、初心者~中級者でlilに不満が出ることは少ないはずです。ラメやファーにも対応しちゃいます。

以下こまかく設定をみていきますが、シェーダー設定の項目に完全自動設定というオプションがあるらしいのでそれを使ってみてもOKかもしれません

3-0.下準備
ヒエラルキーのディレクショナルライトを消して、光源を2つ作ってアバターの近く(1~2mくらい斜め上)に適当に置きましょう
intensify3程度にして、一つは白いもの、もう一つは色温度(use color temperature)をオンにして5000くらいのオレンジにしておくと良いです
で、普段は白い方のみをオンにしておくとよいかな
インスペクターからこれらをオンオフすることで、光源の色の影響や暗い場合の見え方をすぐにプレビューすることができるようになります
また、シーン上部の電球のマークをオフにすると、光源を適用していない場合のアバター本来の見え方を確認できます
影をつける場合は、これらの光源を適当に動かして見え方を確認していきます

3-1.全般の設定
マテリアル全般の基本設定で必須なのは、描画モード、Cullモード、Render Queueの3箇所です。

・描画モードは、重なった時の挙動です。
→瞳のハイライトは半透明に、瞳・まゆげ・まつげ・アイライン・HairBack(地肌を覆う髪)・衣類はカットアウトか半透明に

カットアウトの方が輪郭がくっきりしますが、半透明の方がきれいに描画される場合もあります
半透明はテクスチャのアルファ値を使って背景と重ねた状態で描画されます。カットアウトは、テクスチャの透明部分がすべて完全に透明になります
(どちらもどのアルファ値より低い値で完全に透明にするかを選ぶことができます。当然ながら、カットアウトの方が描画処理は軽いです)

・Cullモードは、どちらの面を描画するかです。
→基本は前面、まつげと衣類は両面にしておきましょう

髪も、板ポリを使用している場合は両面に
基本は前面のみ描画(BackをCull)なのですが、ポリゴン一枚で作られている部位の多いVroidは適宜両面にしていく必要があります

・Render Queue
→基本は2000で、瞳ハイライト2460、瞳・まゆげ・まつげ・アイライン・HairBack2450にしておきましょう

半透明が重なった場合の描画順です
これは他のプレイヤーのアバター等との兼ね合いもありデフォルトの値から変えない方がよいっぽいので、念のためこうしています

3-2.ライティング設定
→基本はそのままでOK

明るさの下限、上限とライトのモノクロ化を多少強くしておくと、光源に対する描画がより安定します
だいたいそのままでOKでしょう
顔の白飛びがきになる場合は、上限を0.8程度にすると改善されるかもしれません
瞳ハイライトは、Unlitを1にした方がよいでしょう。半透明の部分はつよい光源をうけると表現がおかしくなる場合があるようです
ついでに瞳・白目の部分にもUnlitを1にすると表現のバランスもよくなりますし、暗いシーンで印象的に見えますね
このあたりは発光の設定などと絡めていろいろなやり方があるようですので、研究していきましょう

3-3.メインカラー
→使いたいテクスチャを指定しましょう!

VRMシェーダと同様に色の変更もできます
また、intensifyを入れることで、FFFFFFより明るい色や000000より暗い色にもできます
シェーダ設定からメインカラーのレイヤーを増やすこともでき、標準・乗算・加算・スクリーンで重ねることができます
ボディペイント類を入れたい場合は標準か乗算で乗せるとよいでしょう(乗算だと、白部分が透明になります)

3-4.影設定
→はじめはオフのままでOK

リッチな表現をしたくなった場合は使ってみましょう。ぼかしを0.2~0.5程度いれるとうまくなじむかも

3-5.発光設定
→オンにすると光らせることができます

色や強度を設定したりできますし、また、マスクを設定して光る範囲を指定することもできます

3-6.マットキャップ
→設定しなくてもOK

matcap freeなどで検索すると素材がでてきます
マットキャップというのは素材感を低負荷にレンダリングする手法で、光沢を表現するのに便利な機能です
これを顔と身体の肌に適用することで、光沢のあるおはだを表現することができます
雑にやっちゃうなら、マットキャップの色をLiltoonの設定から暗くして加算で適用、マスク値を0.2~0.4で、ぼかしを8~9程度にしておくと簡単にセットアップできます
顔と身体のマットキャップは、基本的には同じ値をいれてください。ここが違うと境界が見えちゃう原因になります

もし手間をかけられるなら、顔の正面部分だけ適用されないように画像編集ソフトで顔用のマスクを作って、マットキャップを乗算にします
マスク値はやはり0.2~0.4程度で、ぼかしは0~6程度でお好みの数値を
こちらは顔がカットしてあるのでハイライトをくっきり強めに光らせてもOK、なのでこの数値にできます
ぼかし値を小さくすると、ハイライト部がテカっと光るちょっとえっちな肌を作れちゃいますし、その他の細やかな表現もできてマットキャップが生きてきますね
どのくらい主張させるかはお好みで調整してね
(顔をマスクせずにくっきりとマットキャップをかけると、顔の細かい凹凸がいちいちテカテカと光って違和感が出ます、ご注意を)

マットキャップの値が乗算される分だけ肌がやや暗くなりますので、メインカラーにintensifyをいれて調整してください
(ここでマットキャップを明るくしてしまうと、その差分だけ顔が暗くなってしまうので、メインカラーの方を明るくした方がよいとおもいます)
マットキャップの明るさで身体と顔の明るさの差を調整できます。顔の方が少しあかるい方が見栄えがいいですね

お肌以外にも、瞳や髪、衣類などにマットキャップをいれると見え方が変わっておもしろいです
いろいろなやり方があるので、調べたり試したりしてみてくださいね!

3-6.輪郭線
顔と身体には輪郭線をつけた方が無難でしょう。0.2~0.5程度が一般的かな
線の太さを少しだけ身体>顔にするとよいかもです
「距離に応じた太さを適用」は必ずオンにしておきましょう

4.フィズボーン(PB)の設定

VRMではヒエラルキーにsecondaryという揺れものの設定用の階層が自動生成されるのですが、これを消去してボーンに直接フィズボーンを設定していきましょう。PBになってからは、その方が断然楽になりました
というのも、以前はいちいちコンポーネントのルートを指定する必要があったのですが、PBはルートを指定しない場合はコンポーネントをアタッチした対象がルートになるからです

4-1.フィズボーンをアタッチする
ヒエラルキーからarmatureを開き、Hip→Spine→Chest→UpperChest→Neck→Headと開いていって、J_Bip_C_Head以下にあるJ_Sec_Hairをすべて選択し、インスペクターのAdd CompornentからVRC Physboneをいっぺんに追加してしまいましょう
VRC Physboneは、Scriptの項目にあります

4-2.PBのグループ分け
上でPBを設定してあるので、アバターを選択した場合はヒエラルキーで選択したボーンのGizmoがシーンに薄緑色で表示されるようになっているはずです
表示されていない場合、または表示がじゃまっけな場合はシーンのGIzmosボタンを押すと表示を切り替えられます
それを見ながら、揺れ方を変えたいグループをまとめるように、ヒエラルキーの中のボーンの並び順を変えておきましょう
ファイル名の末尾にグループ名をつけるなどするともっとわかりやすいかもしれません

4-3.PBの揺れ方をつくる
各グループのうちひとつを選んで、PBの値を設定します
検索すると設定例がでてくると思うので割愛しますが、とりあえず雑に
Pull 0.1、Momentum 0.95、Stiffness 0.2、Immobile 0.5
くらいにしておけばよいんじゃないでしょうか
Unityの上部にある再生ボタンを押すとテストできますので、アバターを動かして揺れ方をみてみてください
(ただし、再生ボタンを押した状態で入力した値はリセットされるので、調整後にCopy Componentをしておいて、再生した状態を解除してからPaste Valuesする必要があります)
また、前髪が額にめりこむのを防ぎたい場合はHeadか髪のRootにコライダーをAdd Componentして、髪の側のボーンにもコライダーを設定する(Sizeを1以上にすると出現する欄に、作ったコライダーを指定する)か、フィズボーンの揺れる角度を制限するLimit Typeの部分を触ってください

4-4.つかんであそぼう!
Allow GrabbingとAllow Posingはすべてオンにしちゃいましょう!
フレンドに髪の毛をさわってもらったり、セットしてもらったりするのは大変たのしいです
つかんで移動し、人差し指をトリガーするとその形状で固定されます
また、つかんだ後に人差し指をトリガーせずに離すと、そのツリーのボーンすべての固定が解除されます

4-5.コピーする
コンポーネントの右上の点がみっつあるボタンを押すと、Copy ComponentとPaste Component Valuesが出てきます
さきほど作った値をコピーして、同じ値を適用したいグループをすべて選択しPasteしてください!

5.やったぜ完成!
おつかれさまです!
きっと以前よりすっきりきれいになって、ワールドの環境光の変化にも強くなったはずです
髪も揺れちゃいますね!!!
Unityやっていってえらい!!! おつかれさまでした!!!

🐬第3部🐬 着替え

きれいになったら、今度はいろいろな衣装を着たいですよね
アバターごと変更するのも良いですが、エクスプレッションメニューから着替えられると便利な場合もあります
そこで、羅生門で着替え用の服やウィッグを使って、キセテネで着せて、Radial Inventory Systemで変更できるようにします
みっつともBoothで配布中なので、まずはダウンロードしてインポートしましょう

1.制作用のVroid素体を出力する

・ウィッグはオフ、ベースヘアー部分(頭皮ぴったりのかつら)のみにしておく
・靴以外の衣類をオフ
・ボディペイント箇所(下着等)は、着せ替えしないならオンで

肌着類は設定が細かくなりめんどくさいので、着せておくのが推奨ですが、着せ替えることも可能です

つまり、「裸+下着+靴で髪の毛オールバックのみ」の状態でVRMを書き出します。
ポリゴンの削減の「透明メッシュを削除する」はオフにしておいた方がよいです
素体部分のメッシュがすべてそろっていないとうまく機能しないアセットがあるためです

2.衣類用のVRMを書き出し

ベースヘアをオフにし、身体の肌と靴は透明のものを用意して透明にしてください
そこに必要な衣類または髪をつけて、衣類または髪だけにしたVroidを用意します
この状態で、こちらはポリゴンの削減の「透明メッシュを削除する」をオンにして書き出しましょう
これにより、衣類で使う最低限のメッシュ以外が消去されます

この時に着ていた衣類単位の着替えになりますので、
・全身いっぺんに着替えたい場合はその衣装すべてを着た状態のもの
・パーツごとに着替えたい場合は着替えたいパーツごとに一つづつすべて
のどちらかでVRMを用意していきましょう
ただし、髪は必ず髪だけで出力してください
各々をわかりやすいファイル名にしましょうね

3.インポート

できれば衣類ごとにVRMと同じ名前のフォルダを作り、VRMファイルをインポートしていきます
身体や肌と統一できるように、マテリアルをLiltoonに変えておきましょう

4.羅生門で剥ぐ

Unity上部にTomoyaというタブができているはずです。そこに羅生門とキセテネがあります
羅生門のウィンドウのVRMに Avatar欄にVRMのプレファブをドラッグアンドドロップし、対応するボタンを押します
すると老婆か下人が現れて、立ち所に追い剥ぎを行ってくれます
剥いだ成果物は(clone)と末尾についた状態でヒエラルキーに出現しますので、ひたすら必要なだけ剥いでしまいましょう

4.(補則)ボーンのリネーム

キセテネを使うと同じ位置に同名のボーンが大量にぶら下がることになり、見分けることはほぼ不可能です
実質的に脱がせることができませんので、リネームして見分けられるようにしておいた方がよいかもしれません
「子オブジェクトの名前も一括で変更できるやつ」というツールがBoothにあります
こちらを使って、衣類のボーンの先頭にすべてその衣類の名前をつけておいてもいいかもしれません
「着せ替え構造を変える時はぜんぶはじめからやるからOK」という方はやらなくてOKです
(わたしははじめからやる方がはやいかなー、という感じなので使っていませんが、一応)

5.キセテネで着せます

さて、ヒエラルキーにはアバターと衣類とウィッグだけが並んでいる状態になったかと思います
いったんすべてを非表示にして、アバターだけを表示してください

5-1.キセテネを使う
着せたい衣類をひとつ表示し、Tomoyaタブからキセテネを開いて、服(さっき剥いだcloneと末尾にあるヤツ)を服の欄にドラッグアンドドロップします
一番内側に着るものからやっていきましょう
続いてアバターの欄にアバター本体(VRChatと末尾に書いてあるヤツ)をドラッグアンドドロップしてボタンを押すと、着せることができます

この時、キセテネから数値を入力して服のサイズを微調整することができますが、おおむねいじらずにそのままでOKです
ただし肌にペイントされている衣類は重なってしまうので、なんかうまいことやって着せてください
そこが大きくなることでドミノ倒し的に大きくしなければならない部位が生じるかもしれませんが、それも気合でなんとかしてください
Vroidにかぎらず、Unityで服を着せるのは気合作業なのです

うまいこと着せるとはじめのアバターが非表示になって、(VRChat)(Clone)と末尾についた新しいアバターがヒエラルキーに出現し、そのアバターのarmatureをみるとアバターの各ボーンの下に同じ名前のボーンがぶらさがっていると思います

お気づきかもですが、複数の衣類を着せる一方で肌マスクは変更できません
(あの機能はVroidの機能なので)
ですので、衣類全部を共通のマスクでやっつけるか、マスクを使用しないか、どちらかでやっていくことになります
あるいは、アニメーターを編集して、素体の肌テクスチャが切り替わるように設定できるならそれもアリです

5-2.どんどんやっていく
下人の剥いだ服すべてをキセテネで着せていきます
ひどい話ですが仕方ありません

5-3.ボーン構造を修正する
困った事に、Vroidは少し特殊なボーン構造をしていて、Chest部分がうまく着せられません
ChestとUpperChestの部分をよくみて、すべての衣類のボーンを適切な位置に移動させてください
Chestに衣類のChestボーンがぶら下がるように、UpperChestに衣類のアッパーチェストがぶら下がるようにします

5-4.老婆の場合
ウィッグはもっと簡単です
剥いだものを直接、Headに入れてしまえばOK
ウィッグやピアスなどが複数ある場合、Headに空のインベントリを作ってまとめてしまってもいいかもですね

5-5.Boundsの設定
ここ重要です
ヒエラルキーにある各アイテムのboundsを、中心位置(Center)を0.1.0にして、範囲(Extent)を1.2x1.2x1.2にします(アバターが極端に高身長な場合はこの数字を大きくしてください)
バウンズというのは、Unityで動的なオブジェクトをレンダリングする基準になる範囲のことで、この範囲が不自然に小さいと、視界の隅や姿勢変更ツールを使った時にそのアイテムがチラついたり消えたりする原因になります

6.Radial Inventory System

Unity上部のタブからエディタを表示してください

6-1.アバターを指定
対象アバターの欄から、使用するアバターを選びます
非表示にしているアバターは候補に出て来ない親切設計

6-2.グループをつくる
エクスプレッションメニューで、このグループごとに分けて表示されます
使いやすい感じで適当にしてください。分けなくてもOK
グループ設定で、排他モードを有効(V2)にしておくと、そのアイテムを表示した時にほかのアイテムを非表示にすることができます
重複して使用することのないウィッグなどでは有効にしておくと便利です
また、全身いっぺんに着替える場合は、こちらをオンにするとよいかもですね

6-3.アイテムを登録する
プロップ一覧の右上の+を押してグループにアイテムを追加し、プロップ設定のところから設定していきます
プロップ名は、その名前でエクスプレッションメニューに表示されるようになります。自分なりに区別がつくように
アイコンはなくても良いです
オブジェクトには、ヒエラルキーにあるアイテムの階層の一番上の、(Clone)と書いてあるヤツを登録します
ドラッグアンドドロップが可能なので、いい感じにやっていきましょう
「デフォルトで表示」にチェックしておくと、アバターを読み込んだ時にそのアイテムは表示状態になります
フルトラ時、トラッキングの調整はアバターがデフォルト状態で表示されるため、最低限の衣類はデフォルト表示しておかないと調整する時に脱げちゃうので注意です
また、有効状態の保存をチェックしておくと、つぎにそのアバターを読み込んだ時も状態が保存されます

6-4.適用する
下の、適用するボタンを押すとアバターに適用されます
このボタンを押すまで変更が保存されないので、途中でウィンドウを閉じてしまわないように注意です
また、アバターをヒエラルキーから削除する場合は、適用を解除しておかないとバグることがあるような気がするので念のため解除しましょう

さて、これでアバターが衣装を着替えられるようになりました!
この方法は、もちろんVroid以外のアバターでも利用できます
ただ、アニメーターの編集に慣れてきたら、RISは使わない方がよいかもしれませんね
はじめて挑戦するときは、かなり大変だったと思います
Unityと和解してえらい!!!!! おつかれさまでした!!!!!

🐬第4部🐬 Vroidの姿勢を矯正する

使い込んでくると、Vroidのモデリングに不満が出てくるかもしれません
特に気になるのが
・立ち姿勢
・なで肩
この二点かな、と思います

姿勢となで肩の治し方を紹介していきます

1.立ち姿勢について

立ちの姿勢については、体幹のボーンの角度をUnityで触ることで矯正が可能です
体幹のヒップ、スパイン、チェスト、アッパーチェスト、ネック、ヘッドのRotationのX値に-3~+3程度の数値をいれて細かくいじってみてください

わたしは、胸が張りすぎている、顎があがっている、腰がまっすぐすぎるの三点が気になったので微調整しています
男性アバターをすこし中性的なラインにしたいと思ったので、ヒップ+2、スパイン-2、チェスト+3、アッパーチェスト+3にしています
ヘッドとネックが差し引き+6になり少しうつむき加減になって、顎があがりがちな点も調整されています
また、この場合、腕が+6ねじれることになりますので、両ショルダーに-6を入れて補正しておきましょう
さらに、両アッパーレッグにも-2をいれてヒップの回転を相殺します

2.なで肩について

かんたんな方法としては、第1部で紹介しているVRM Converter for VRChatでのコンバート時に"肩の高さ"パラメータを設定するという方法で、0.02ほど入れてあげると非フルトラ環境ならうまく動くようです。
フルトラの場合はそれでもうまく動かず、肩の可動域自体を制御する必要がありますが、この調整はフルトラでVroidを使うなら避けては通れない気がします
というのも、フルトラにするとさらに輪をかけてかなりのなで肩になるからで、しかも肩の高さパラメータで調整するとほかの部分に異常がでることが多いようです
ということで、抜本的な修正方法を紹介していきます

2-1.Blenderで開いてFBX出力
VRMからボーンの可動域を設定できればよいのですが、Unityではスクリプトから直接編集しないと編集できないそうです
そこで、いったんBlenderで読み込んでFBXファイルにします
Blenderと、Blender用のVRMインポーターとFBXエクスポーターのアドオンが必要になりますので、調達してください
もしBlenderで編集するなら、このタイミングですると良いかもです
Vroidは口周り、あご周り、目のしたなどに不自然なしわや突起が出ることがあるので、軽くスムーズしておくとよいかもですね
ただし、顔と首との接合部は決して触らないように。隙間があいてしまいます

2-2.Unityで読みこんでボーン可動域調整
UnityはFBXを扱えますので、プロジェクトにドラッグすればOKです。FBXを読み込み、インスペクターからriggingをhumanoid rigに変更していったんアプライします。するとコンフィグボタンが触れるようになって、ボーン可動域の調整ができるようになります
左右の肩の可動域を0↔15くらいまで絞ると、Vroid特有の異常な肩を補正できます。これの優れている点は、腕を上げた時に衣類の肩周りが異常に膨張する現象も防ぐことができ、肩~デコルテの衣類の貫通もかなりマシになることです
調整したら、FBXを選択してVRM0のタブからVRMファイルへとコンバートしてください

2-3.UnityでVRM出力、表情つける
「VRM表情設定するやつ」をboothからダウンロードしましょう。Vroidで作った表情はシェイプキーで入ってるのでらくちんです
ひとつひとつの表情について、対応するシェイプキーを100にして設定していきましょう
ただし、Surpriseだけデフォルトでありませんので、作成して設定してください

2-4.VRMをUnityで読んで、VRCアバターにする!
VRMコンバーターでVRCアバターにコンバート、いつものやつです
これで、肩の可動域が修正された状態のアバターを作ることができました


🐬おまけ🐬 ワークフローまとめ

ここまでで登場した調整をすべて採用した場合のワークフローは以下になります

1.VroidでVRMファイルを書き出す
2.ブレンダーで開き、FBXとして書き出す
3.UnityでFBXを開き、肩の可動域を調整
4.UnityでVRMファイルとして書き出し
5.VRM表情設定するやつで表情を設定
6.Unityで開きVRCアバターへとコンバート
7.羅生門で服とウィッグつくる
(ここでプロジェクトをバックアップ推奨です)
8.キセテネで服を着せる
9.姿勢の調整
10.マテリアルとPBの設定
(ここでもプロジェクトのバックアップを推奨です)
11.睡眠システムやRISの導入などの仕上げ

いろんなアプリやアセットをいったりきたり、たいへんですね
おつかれさまでした!!!!!


この記事が気に入ったらサポートをしてみませんか?