【VRChat】SDK2アバターをSDK3に変換してPBを入れたりliltoonに変換するメモ
今回は例として2A-7-4 / VVVV シヴィーを使います
シヴィーちゃんはかわいいですね…
準備
最新のSDK3プロジェクトを作成してUTSとliltoonをlilMaterialConverterをインポートしてください。
アバターのインポート
2A-7-4 / VVVV シヴィーをダウンロード
圧縮ファイル内のPCというフォルダから2A-7-4-VVVV.unitypackageをインポートします。
SDK2→SDK3変換
今回使用するツールはこちら
ほぼ1クリックで変換してくれます。便利。
インポートしたら上部のメニューからVRCAvatarConverterTo3を選択。
Asset→2A-7-4→VVVVからVVVV_200502VRC(クリックすると.prefab)を2.0Abatar Prefabに放り込んで下のConvert Avatar To 3.0を押します。別のアバターの場合はそのアバターのprefabを指定します。
自動的にアバターがシーンに上がるのでHierarchyのアバターをクリックして古いSDK2のScriptを削除します。(黄色い警告が出ているもののみ削除)
Eye Lockの設定(お好み)
Enableを押して設定。15°くらい動かすようにしました。
EyelidはBlendshapesを選択。MeshにBody(顔)を放り込んでeye_closeのみにしました。上下のシェイプがある場合はUpとDownも指定します。
SDK3への変換自体はこれで終了です。
PBを入れてみる
リボン(もしくはケモミミ)
まずArmatureをHeadの階層まで下がってCenterHeadRibbonと書かれたボーンを探します。インスペクターからAdd Component(もしくはコンポーネントを追加)でVRC Phys Bone。好みですが次のように設定。
変な方向に判定がボーンが出た場合はIgnoneで除外設定してあげましょう
大丈夫です無くても揺れます(厳密には揺れ方が違うけどPBの場合余計な掴み判定が邪魔なので)
髪
Headで右クリック→CreateEmpty。わかりやすいようにHair_Rootとします。PBはこの作成したHair_Rootに付けます。こうすると通常はわかれたボーンの数だけ必要なPB数がRootの1個で済みます。このボーンをまとめる作業はPBを入れるだけなら不要なのですが、後述のQuest対応で必要になるのでやっておきましょう。
このままではバックしたときに髪が頭にめり込むのでコライダーを設定します。Headを右クリックしてVRC PhysBone Colliderを追加。値は次のようにしてください。
Hair_Rootの設定に戻りコライダーのサイズを1増やし、設定したHeadを放り込むとめり込みがなくなります。ついでにMAX Angle(各ボーンの最大角)で2重に対策しておきましょう(20°くらいが適正?
スカート
足が触れて貫通してしまう箇所は前なので前(Front)とそれ以外(Other)で分けます。分けたFrontとOtherにPhysBoneをつけます。LimitをHingeにしてMax Angleを65°程度に、Rollを90にするとスカートの広がる方向のみ動くようになります。
微調整が楽なのでUpperLeg下に空のオブジェクトを作成
PBC_LとRそれぞれ作成してください。今回は簡易なのでPlain(平面)
調整したらFrotにつけたPhysBoneのコライダーにPBC_L/Rを入れます。
Collision半径はCを押してCurveに設定、根本が小さく先端が大きくなるようにすると楽です。SkirtはGlubやColissionのチェックは外した方が無難。
Otherはコライダーを設定しない事とIgnoneの対象をOther末端の003_end4つにする以外は同じなので省略します。完全な貫通対策ではないのでしゃがんだ時に貫通しますが、気になる方は別のアバターのしゃがみモーションに入れ替えたりして対策してみてください。
liltoonに変換する(お好みで)
matフォルダにあるマテリアルをfaceoption以外選択して右クリックから自動変換します。faceoptionは個別に選択してShader→lilitoonを選択後半透明を選択すると変換できます。オプションから色調補正を有効にして色変えするのもよいでしょう。
終わりに
QuestToolでQuest用に変換します(使い方は省略)
制限の範囲に収まるのでQuestでも問題なくアップロードできるはずです。