アバターのQuest対応のやり方
VRChatのアバターのQuest対応に関する情報をいろいろまとめて備忘録にしました。
ただQuest対応させるだけなら一瞬なんですが、Questでも正しく表示させるためにはひと手間いるのでその部分についても書いていきたいと思います。
(この記事では特筆してない場合、Unityバージョン2022.3.22f1を使用しています)
0. Androidビルドの導入
Quest版と言われる事が多いQuest、Picoの単騎稼働バージョンですが、たぶん厳密に言うとAndroid版になります。しらんけど
Unityのはじめの状態だとWindowsに向けての開発環境になっており、Quest版用のアバターもアップロード出来ないので、まずはAndroidに対応した環境を導入しましょう。
以前書いた記事にもあるのでそちらを見て頑張ってください
2.3に記載があります
1.まずはアップロード
さて、Androidビルドの導入も終わり、Windows版のアバターのアップロードも終わったらここに取り掛かりましょう。
2. 便利ツールの導入
VCC上で導入できる便利なツールがいくつかあるので、まずはそれを導入しましょう。
Modular Avatarに関しては今回は関係ありませんが、衣装などを着せる際に大変便利なツールとなっているので、ついでに入れてしまいましょう。
2.1. VRC Quest Tools
Quest対応の作業をちょー楽にしてくれる神ツールです。
下の方に進んだこの部分からVCCに直接導入できます。こっちがおすすめ
同じ要領で他のツールも導入していきます。
2.2. Avatar Optimizer
こちらはアバターの軽量化のためのツールになります。
Quest対応だけじゃなくて普通にWindows版を上げる時にも使えるツールになります。
こちらも商品概要のインストール方法にVCC導入URLがあるので同様に
2.3. NoriBlocker
こちらはQuest化の際に発生する"海苔化"と呼ばれる現象を消すためのツールです。海苔化については後述。
こちらはVCC導入ではなくてファイルをダウンロードし後からUnityに乗せるタイプになります。
"NoriBlocker_yyyy/mm/dd.zip"をダウンロード、解凍してください。
2.4. Modular Avatar
アバターに衣装を着せたりなんなりする時に使えるちょー便利ツールです。
↑のNoriBlockerもこのMAを使うので導入必須です。
3. Quest用に変換
先ほど導入したツールを使ってアバターをQuest版で映せるように変換していきます。
上のToolsより
VRCQuestTools > Convert Avatar for Android
これで変換用のウィンドウが出てくるので、ヒエラルキーから変換したいアバターをウィンドウの"アバター"と書いているところにドラッグアンドドロップで選択し、"変換の設定を始める"をクリック
いろいろ出てきますが、Avatar Dynamics設定をクリック
ここは簡単に言うと、アバターのパーツを動かすための骨組みを削除するパートになります。
Quest版ではこれのうち"PhysBone Components"を8個まで削らないといけないので削っていきます。
まずは一番上の"すべて解除"を選択し、PhysBonesの項目から最大8個、好きなモノを選びましょう。個人的なおすすめは髪周りのBoneを残す事です。
完了したら適応を押していただいて、そのまま一番下の変換ボタンを押してください。
しばらくすると(Android)と書かれたアバターがヒエラルキーに追加されます。
これでQuest版に対応したアバターが出来ました。
Avatar Optimizerを使って少しの軽量化だけをしてアップロードといきましょう。
4. Avatar Optimizerの使い方
Avatar Optimizerは使うだけで少し軽量化出来る簡単なツールなので取り敢えず使っていきましょう。
対象のアバターを選んだ状態で画面右のInspector欄を下までスクロールしてください。
すると"Add Component"というボタンがあるのでこれをクリック、
AvararOptimizer > AAO Trace And Optimize を選択してください。
特にいじる必要は取り敢えずないです。
5. NoriBlockerで海苔消せ
Quest化の天敵、海苔化現象の削除です。
海苔化とはなんぞや?って感じかもしれませんがそれについては後で、
今は取り敢えず消す方法だけをやっていきます。
AvaratOptimizerでも消せるらしいんですが、私はNoriBlockerを使います。
NoriBlockerを解凍したら中にUnityPackageが入っているので、Unityにドラッグアンドドロップで入れてください。
インポートすると"Rice Works"フォルダが出ると思うので、
Rice Works > NoriBlocker > Prefab を開いて、自分が使ってるアバターの名前を探しましょう。人気アバターなら恐らくあるはずです。
もしここにない場合はNoriBlockerの改変用素材があるので、そちらを自分が使っているアバターに合うように改変するか、AvatarOptimizerを使っての海苔削除を調べてください。
お目当てのPrefabを見つけたら、それをAndroid用アバター内のヒエラルキー最下層にぶち込んでください。これだけで海苔化を消せます。
これでQuestに上げるための準備は完了です!早速アップロードしていきましょ~~~~~~
6. アバターのアップロード
VRChat SDKを開いたら、下の方にある"Selected Platform"からAndroidを選択してください。
アバターの名前やサムネイルが元となったアバターと同じ事を確認したら、あとはWindows版と同じ要領でBuild & Publishしたら終わりだ~~~~~~~~~~!!!!
なにこれ
7. 容量削減計画
Quest版のアバターはサイズ制限があります。さっきの画像に書いてる12.35MB>10.00MBの10.00MBの部分っすね。
なのでここからは容量をとにかく削っていきます。
実際にどの程度効果があるかは知りませんが私が実際にやっている方法を紹介していきます。
7.1 不要なパーツの削除
これは特に別衣装を着せた場合や、「髪の部分、結局常に消してるパーツあるから使ってないな…」みたいな時に使えます。
7.2. テクスチャ解像度の縮小
たぶんこれが一番効果的です。使ってるテクスチャのサイズを小さくする=粗くします。そんな事すると見た目が…と思いますがぶっちゃけあんまり変わんないのでおすすめです。
Assets > VRCQuestTools > 【アバター名】 > Textures でテクスチャファイルが一覧で表示されます。
各テクスチャファイルを選んで、右のInspector欄のMaxSizeを減らしてください。個人的には服や顔は1024、肌は512まで下げても特に問題ないイメージです。
ここまでやったら大丈夫なはず!もしこれでもオーバーするようならさらにテクスチャサイズを下げていきましょう。
8. ちょっと補足
海苔化について説明してなかったのでちょっと補足説明を。
Quest版では使えるシェーダーが限られているため、主に使われているLitoonなどのシェーダーが使えません。
なのでQuest版に対応したシェーダーに変える必要があるのですが、これが厄介なところで"透過表現に対応していない"という特徴があります。
なので、頬を赤らめる表現などが全部透明度0で描画されるため赤い海苔が発生するという現象が起こります。
同様の理由でメガネなども使うことができません。ほまに悲しい。
(Quest版で透明度を出す方法ご存知の方いたら教えてください;;)
9. おわり
ここまでの作業お疲れ様でした。
Quest化は必須の作業ではありませんが、やっぱり単騎勢の人にも見えた方がいいですし、元単騎勢としても対応してくれるとめちゃありがたいです。
Quest勢にもやさしいアバターを使って快適なVRCライフを送ってください。
では~~~~~~~~~~~