VRChat 非対応服をUnityだけで無理矢理着せる

Blenderで完全に対応すればいいんですが、そこまでするのもなぁという時にUnityだけで完結する非対応服の着せ方です。
　

 ** 使用ツール **

  MeshDeleterWithTexture beta
  https://booth.pm/ja/items/1501527
 ![booth2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/8bae67f1-3d53-e50f-15bf-700a30e345c9.png)

 Meshを削除できます。簡単に言うとはみ出す体等を透明にできます。


 【UnityEditor拡張】にゃんにゃんメッシュエディター(MeshModifyTool)
 https://booth.pm/ja/items/3003506
 ![booth3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/8622b251-1c1b-a250-7586-8e22528aab28.png)
　
Meshを凹ましたり膨らませたりできます。体に合わせて微妙な形状の差異を調整できます。

　
VRC/3Dアバター向け簡単着せ替えツール「キセテネ」
https://booth.pm/ja/items/2332420
![booth4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/960f7afc-e960-e0a5-ba9f-79d3d710b93e.png)
　
アバターに服を着せるツールです。

　
【無料有】色々動いてくれるのでアバターの動作チェック等に使えるanimationファイル
https://booth.pm/ja/items/3856716
![booth5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/870b5f1f-c657-d49d-660f-9c5c8a7429e5.png)

アバターを動かしてはみ出し等をチェックするのに便利なアニメーションです。
　
　
　
　
** 今回着せる服とアバター **

アバター：
★VRC対応！★MMD モデル 【Type. LO】+ fxマテリアル
（R-18なのでBOOTHのLinkは貼りません）

服：
【10アバター対応】スポーツウェア　（メリノちゃん用）
https://booth.pm/ja/items/3229850
![booth1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/b7659884-c2b1-8f8a-50cb-b4ee6ea28187.png)
　
　
　
　
** Unityで作業 **
　
 アバターと服を取り込みます。
 ![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/efaa6a4c-6e12-38b0-f2bd-8c88250f11d4.png)
　
　
服のScaleを調整して概ねのサイズを合わせます。後で部位毎に調整可能ですのではみ出しがあっても大丈夫です。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/4083607d-0a48-875f-9731-07bc88a20ad4.png)
　
ジャケットを非表示にして下に着ているものもチェックします。
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/14ff7f74-c4ff-6507-ef20-e99e518c0cf0.png)

 これくらいはみ出していても大丈夫です。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/6e630884-4dc4-6dd0-2627-45a3375aeab5.png)
　
 各部位毎に位置合わせを行います。例えばHipsの位置を合わせるのには上半身が変わっては困るのでAmatureのツリーでHipsの下からSpine以下を外へ出します。この状態でHipsの位置を調整します。
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/b6c93a7b-f3eb-f366-9dae-91a39008d61c.png)

腕、足、胸等も部位毎にツリーから出して位置を調整します。あとでツールを使って体のはみ出しを修正しますが、なるべく綺麗にフィットするよう念入りに合わせます。
　
例えば靴の位置はLower Leg以下が全部動いてもいいのでツリーそのままで、左右共に選んで青矢印を掴んで前後させます。
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/73f3e564-d5c8-ff7e-7a23-c7a235663e8e.png)

素体を選んでアウトラインを表示させるとフィット度合が分かりやすいです。
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/10943605-d5be-5cc6-4d2f-b3898df14ba7.png)

 位置調整が概ね終わった状態です。
![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/3aede625-67cf-867b-6d84-38eb6e34c083.png)
　
「キセテネ」を使って服を着せます。「キセテネ」も位置調整機能を持っていますので、必要であれば使ってください。
![A.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/3977b711-8f71-71b6-b521-03132e57de45.png)
　
「【無料有】色々動いてくれるのでアバターの動作チェック等に使えるanimationファイル」はAnimationファイルだけですので以下のようなAnimation Controllerを作ります。
![B.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/6de5b120-7153-34a5-051b-11c1653396b6.png)
　
 アバターのAnimatorにセットしPlayしてみます。
![C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/ba9db058-3a2d-5bd5-ca0b-21d61a6699fc.png)
　
ショート動画Link（微調整前のはみ出し度合）
https://youtube.com/shorts/O8zzJcXlfFw?feature=share
　
「にゃんにゃんメッシュエディター」を使って腰回りの体のはみ出しを修正します。
![E.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/f9c89ca6-2de6-1b07-1be8-8d237de78777.png)
　
体を凹ませるのでBrushPowerはマイナスの値です。BrushPowerは概ね0.002～0.003を使うとよいです。
BrushWideはデフォルトの小さい値だと一部だけが凹んだり尖がったりしてデコボコになるので最初は0.1（最大値）固定で使ってください。体は概ね左右均等に加工するのでMirrorのXに☑を入れておきます。
![G.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/978be550-b52a-429b-51d2-80827218da97.png)
　
マウスの右ボタンを押しながら左右上下に動かすことと、スクロールのコロコロを回すことで位置を移動できます。
　
Sceneで確認しながらはみ出した体の部分をクリックして凹ましていきます。
![J.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/255f4522-354a-361e-15f9-1709aeb8b443.png)


ショートパンツが横方向に広かったのでショートパンツを凹ませます。
![K.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/f3a9068d-7271-a067-4d64-3e911524ea94.png)
　
　
大体仕上がった状態です。
![L.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/bbda78f2-cfe5-a24b-214b-f19d3b65fb42.png)
　
仕上げるまで都度Playで躍らせて様子を見てください。＊：Playする時は「にゃんにゃんメッシュエディター」は閉じてください。

今回はショートパンツでしたので、腰部分の太もものはみ出しが大きいです。ここでアバターにセットしたAnimation Controllerを外しPlay状態にして、足を回してみて状況を確認します。ただ、極端に動かすと専用服でも破綻することがあるので取りうると考えられる姿勢の範囲にとどめます。
![N.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/c27dcb00-9c15-0ece-f428-9dae480a9165.png)

はみ出す部分を覚えたら衣装で見えない部分の体をまた「にゃんにゃんメッシュエディター」で凹ませます。これを繰り返して徐々に合わせていきます。

 最終状態を横から。見えない太もも部分を大きく凹ましています。
![Q.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/d4d6b435-4724-816d-0d4e-3d3cf306c060.png)

足裏がはみ出しているので、凹ましてもよいのですが見えない部分ですので「MeshDeleterWithTexture beta」で足裏を消します。
![R.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/dfd59657-698c-bebc-ae5b-5292aca9b2c9.png)


消す部分を「MeshDeleterWithTexture beta」で塗ります。Delete Meshを押すとその部分のMeshが消えます（見た目何もなくなる）。
![S.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/e2d7a613-0ccf-cda0-65fa-6ae60f9e72c3.png)
　
消えました。
![T.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201026/621e7f0b-8a9a-a568-13a3-a1bee3bd4292.png)

VRChatにアップロードし着てみて確認します。
はみ出す場合は、再度作業を繰り返します。体を凹ませるか、服を膨らませるかは状況によって決めます。
納得いくまで繰り返せば完成です。


コツとしては着せるアバターと体形が似ているアバターの服を選ぶと作業が大幅に楽です。一度お安めの服のマルチアバター対応版でフルセットを買ってみて、どのアバター向けが合いやすいか確認するとよいかと思います。