VRChatのアバターにはワールドと同じように、
- Quest対応(クロスプラットフォーム)
- PCのみ
の2つがある。ここではPCのみしか対応していないワールドをQuestにも対応させる際に行ったことを書いていく。
UnityのビルドターゲットをAndroidに変更
File → Build Settings…からAndroidを選び、Switch Platformで変更を適用させる。 この際Android向けの機能をインストールしてない場合はUnity Hub経由でインストールができる。
Switch Platformを押すと、しばらく処理が走った後プロジェクトがAndroid向けに変更される。 手持ちのアバターをHierarchyに配置すればこの段階は完了。
アバターをQuest向けに対応させる
Quest向けアバターは、
- 10MB以下
- Android向けのシェーダーを使っている
- 透過シェーダーが使えない
などの制限がある。
この中でも透過シェーダーが使えないのは致命的で、頬染めなどを透過シェーダーを使って 表現しているアバターをQuest向けに変換するとブレンドシェイプが大きく破綻する。 これを解消するには、
- アニメーションを編集して問題箇所のアニメーションプロパティを削除する
- 問題箇所のメッシュごと削除する
などの作業が必要になる。
ポリゴンの自動削減
BlenderのCats Blender Pluginというプログインを使用してアバターのポリゴンを自動削減(デシメート)できる。
まずFBXファイルをCats Blender Pluginで読み込む。 3DビューをクリックしてNを押すと、3Dビューの右端にタブが表示されたり消えたりする。 その中のCatsというタブをクリックすると、Cats Blender Pluginのページが開ける。