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のページが開ける。