【VRChat】PC版アバターを大体10回クリックしてQuest対応させる

# はじめに
VRChatのAndroid版対応やとあるワールドの閉鎖予告により、「Quest対応」が話題になっています。
「Quest対応」を全くやったことのない人の中には、以下の様に考えている人も多いのではないのでしょうか。

「全然わからん！」
「ポリゴン数削減しなきゃいけないんでしょ」
「**マテリアルとかシェーダーとか**めっちゃ大変」
「とにかく**めちゃくちゃ面倒な作業**なのは知ってる」

これらは全て **「Quest環境でのMedium対応」** の話です。
実際必要とされているのは、**「Quest環境への対応（Very Poor可）」** です。

もちろんデフォルトで表示されるに越したことはありませんが、それは**かなりの負担**です。
Quest対応そのものは、とあるアセットを用いることにより**かなり楽な作業**となりました！

この記事におけるゴールは、**「QuestユーザーがShowAvatarすれば見えるアバター」** です。

# 事前準備
・VCCのインストール（VRChatの公式サイトより）
・対応させたいアバター **（PC OnlyでもOK!）**
　　→今回は「[カルキア](https://kuronekotsuki.booth.pm/items/2930485)」ちゃんで実践します。
　　   アバター製作者により公式にQuest対応されているアバターですが、改変したことにより
　　   再度対応が必要となっています。~~僕のお気に入りです。~~
・**「VRCQuestTools」** のダウンロード
  　→https://booth.pm/ja/items/2436054
　　このツールが本当に便利なんです…

# 手順（概要）

（既存のアバターをQuest対応させる場合、２までスキップ）
１．VCCよりアバタープロジェクトを立ち上げる
２．用意したアバターを普段通りアップロードする。（PC版）
～～～※本記事ではここまで省略～～～
３．「VRCQuestTools」を導入する。
４．導入したツールを利用し、Quest版を作成する。
５．状況に応じ、最適化を行う。
６．Quest版(Android)アップロードを行う。


# 手順
上記の通り、１と２は省略します。
## 「VRCQuestTools」を導入する

https://booth.pm/ja/items/2436054
上記URLからダウンロードしたzipファイルを展開し、「VRCQuestTools-v1.10.1.unitypackage」を
アバタープロジェクトに導入します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/d07186f9-d2cc-8180-6bcb-c9c7531f7ad1.png)

## 導入したツールを利用し、Quest版を作成する。
上部メニューより、「VRCQuestTools」→「Convert Avatar for Quest」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/2535b43c-0b5b-8372-62b7-9e23ea5496ca.png)

Quest対応させたいアバターを設定し、「変換」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/25654c37-254b-7b37-835a-1ae59c2ebef9.png)

このウィンドウが出ればとりあえずOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/c248fb95-2d6a-ddef-4f86-30e401120aec.png)

## 状況に応じ、最適化を行う。
上記手順に従う際、恐らくこんな感じのウィンドウが出ると思います。
Quest版ではPhysBoneコンポーネントの数に上限が設定されているため、その数以下となるように減らす必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/2ef1319b-80d1-8d55-df3f-7cad24fcc610.png)

今回は「髪」「耳」のみPhysBoneを残し、他のチェックを全て外します。その後、「選択していないコンポーネントを削除」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/838ae6fc-d7a1-784e-d78b-76970ef17944.png)

数が減ったことを確認し、右上の「×」から閉じます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/4676a378-a91d-3d85-86ef-bca3a8b982a5.png)

Quest版が作成され、PC版が非表示となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/19e2ccfa-70a7-4baf-dcb6-5a9242a0ebbb.png)

この段階で、アバターに内包されているシェーダーが「mobile/Toon Lit」に変更されます。
このシェーダーは**透過が表現されない** ので、上記画像のような「透過でフリル等を表現してたけどなんか変になった」みたいなことが起きますが、**とりあえずOKです**。

## Quest版(Android)アップロードを行う。
Unityの左上にある「File」→「Build Settings」を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/6b7345f5-3c1c-2758-af5d-f07725ed99d2.png)

「Android」を選択し、「Switch Platform」を押下します。**処理に時間がかかります。**
もし画面に「No Android module loaded」と表示されていた場合は、「Open Download Page」を押下し、exeファイルをダウンロード→インストールします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/ff659c95-1643-c598-53e1-215db0148148.png)

PC版をアップロードする時と同様に、「Build & Publish for Android」を押下します。
後はPC版と同じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399875/5d197f26-96d3-77eb-36e1-e4d610a06562.png)


# 軽量化の話（すごくざっくり）
アバターの容量が大きすぎてダメ！と怒られた場合、以下の事柄を試しましょう。
- 衣装の削除
（人が多いインスタンスやPublic行くとき用に、着せ替えなしの単一衣装版を用意するのオススメです。着ない衣装のせいで自分のアバターが無駄に重くなるのは無用なヘイトを買います。）
- アクセサリーの削除
（眼鏡等見た目に大きな影響を与えるものでない場合、削除してしまうのもテです。）

大体衣装を削除すれば解決します。


# このやり方の問題点
このやり方により対応させた場合、以下の様な事象が発生します。
- 裏地が描画されず、正面から見た時にマントや後ろの髪の毛が透過する
- フリル等の透過により表現している箇所が変になる
- 表情、特に頬染めがなされた際に顔に赤い帯が入る

これを直すためには別途作業が必要です。
今回は **「とりあえずQuestから見える状態にする」** がゴールなので、上記問題については触れません。
**見えることが大事なのです！**

# おわりに
雑な解説でしたが、とりあえずこれで「QuestでShowAvatarすれば見える」状態になります。
実際に手を動かしながら作業をすると、「意外と手順が少ないな？」と感じる人もいるかもしれません。


この記事をきっかけに、とりあえずのQuest対応をする人が増えればなと思います。