[VRChat] PCアバターをQuest対応化するための最低限の設定

こんにちは。
Oculus QuestでもVRChatがプレイできるようになって半年経過しましたが、
Questでログインしていると、非対応のアバターが多くてほとんどロボットに見えてしまうことも少なくないのが実状です。

Questの知り合いがいなければモチベーションも上がらないかもしれませんが、
ちょっとでもQuest対応アバターが増えてくれればと思って、記事を書いてみました。

# 前提条件
- PC向けにアバターをアップロードできている

# 0.Quest用にNew Sceneを作り、そこにアバターをコピーする
- PC用アバターを右クリックして「Copy」
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/bdf6e76c-1ba0-4919-7e83-c0051e8d9d3e.png)
- [File]->[New Scene]
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/110d1873-ae2f-918d-20c2-01dd94027710.png)
- 右クリックして「Paste」
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/f7e7c9a2-3e58-e03b-7cf7-994c183193cb.png)
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/49db0145-6db4-6165-360f-1e8f2b9a5620.png)

なぜコピーするかというと、以降の項目で、アバターの設定を削除したり、変更したりしないといけないので、オリジナルのPCアバターは変更しないように、コピーします。

# 1.PCからAndroid向けにプラットフォームを変更する
- [File]->[Build Settings]
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/c030636e-e6b5-8244-019e-a4f9e167c724.png)

- [Android]をクリックして、左下の「Switch Platform」
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/f5772ad0-4426-a9f9-4372-9009b4438e8f.png)

- 完了するまでしばらく待ち
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/aed6a51c-0ed3-ca51-e9b2-f82df5361673.png)

# 2.シェーダーを変更する
- GameObjectでシェーダーを設定する箇所すべてについて、VRChatのシェーダーに変更してください（VRChat/Mobile/Toon Litが一番鮮やかな色になります。他は良く知りません（笑））
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/e5794dbf-62c9-8c7b-f54f-4777c46ecb0a.png)

# （シェーダーが変更できない場合）マテリアルを作って適用する
- 私もシェーダーやマテリアルについての理解は浅いのですが、場合によっては、VRChatのシェーダーを選択できない場合もあります
- その時は「Materialを新規作成」して、そのMaterialを該当オブジェクトに適用してください
- [Assets]->右クリックで[Create]->[Material]
  ![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/aa42f63c-9a80-0dad-1bb7-09ae4f3a9af9.png)
- Shaderを「VRChat/」以下のものを選択（ここではToon Lit）
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/6e5ca446-03b6-ab95-7dfb-89520233ed6d.png)
- None(Texture)と画像が表示されている部分にある「select」ボタンを押して、自分が使いたいテクスチャ画像を選択する（もしテクスチャがなければ、どこかから画像を持ってくる必要がある。もしくは、もしfbxなどモデルデータがある場合は、BlenderでUV展開して、色を塗った画像を用意する必要があるかもしれない。Blenderまで使うと結構な労力になるのでその場合は、私は諦めていますね（笑））
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/fdd247c0-3d6c-eeb8-f239-a271bfd91e6a.png)
- Materialを作れたら、それをモデルにドラッグ＆ドロップしてください
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/325c37ba-3bd8-cf24-6623-e3ecffd5b2ab.png)

# 3.PCでしか使えない機能を削る
- DynamicBoneは使えないのでエラーになるので削除してください
- その他、何があるのだろう…

# 4.いつも通りアップロード
- メニューの[VRChat SDK]->[Show Control Panel]
- エラーがなければ[Build & Publish]ボタンでアップロードしてください（PCと同一のBluePrintIDにアップロードすれば、そのアバターはPCのみならず、Questからも見えるようになります）
![sham-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93702/7aeab282-3521-b5b2-8528-03eb47f2a81a.png)

- 上のスクショは、DynamicBoneが入ったままだからエラー（アップできないよ）というメッセージが出ている例です
- 他のエラーが出てアップロードできない場合は、メッセージに応じて都度対応が必要です
- その他、「ポリゴン数を5000以下に減らせ」「VeryPoorだ」等メッセージは出ていますが、このあたりは無視してもアップロードはできます
- ただし、Questがスマホ程度の性能しかないので、あまりにも重いアバターだとQuest利用者が落ちかねないので、本当はポリゴン数を減らしたりした方が、Questユーザには優しいです
- ただ、Questでも5万ポリゴン前後でも見えはします
- ポリゴン減らす場合は、他のスキルが必要になるので、別の記事をご参照ください

【ポリゴンを減らす】雰囲気を保ったままポリゴン数を減らすnyantelさんのツイート
  https://twitter.com/nyantelinside/status/1182290234806919168