お気に入りのアバターを使っているのに、QuestやiOSのフレンドからはインポスターに見えている。せっかく会えたのに、これはちょっと寂しいですよね。
Quest対応では、衣装を減らしたり、テクスチャを小さくしたりする必要があります。とはいえ、そのためにPC版まで削ったり、別のアバターを一から作ったりするのはかなり大変です。
そこで今回は、元のPrefabやテクスチャには手を入れず、アップロードするときだけAndroid向けに変換する「非破壊」の方法を使います。
この方法のいいところは、一度設定すれば、あとから衣装や髪を更新しても同じ流れでアップロードできること。PC版の見た目を守りながら、Quest・iOS対応もしやすくなります。
そもそも「非破壊」ってどういうこと?
Questやスマートフォン向けのアバターは、PC版より容量やシェーダーの制限が厳しくなっています。
今回の方法では、普段はPC版のアバターをそのまま編集し、ビルド(アップロード)時だけツールに次の処理をしてもらいます。
- Android版で使わない衣装やギミックを外す
- テクスチャを圧縮する
- PC用シェーダーをモバイル用へ変換する
- PhysBoneとContactをモバイル向けに減らす
PC用のデータを直接削ったり、テクスチャを書き換えたりしないのがポイントです。PC版とモバイル版を別々に手直ししなくてよくなるので、あとからの改変がかなり楽になります。
事前に用意するツール(無料)
- VRCQuestTools(VQT):Android向けへの変換とプラットフォーム別設定
- Avatar Optimizer(AAO):不要な構成の整理
- LAC Texture Compressor:テクスチャの圧縮
- NoriBlocker:赤面や青ざめがベタ塗りになる「海苔」の対策
どれも今回の非破壊対応を支えてくれる便利なツールです。作業前に、念のためアバターPrefabとUnityプロジェクトのバックアップも取っておきましょう。
手順1:いらない服や小物を「非表示」にする
まずは、Android版で使わない衣装やアクセサリーを整理します。
今着ていない服や、外から見えない小物はHierarchyで非表示にし、EditorOnlyタグを設定します。

衣装を何着も入れたままにすると、それだけで容量を使います。Android版はお気に入りの1着に絞ると、一気に進めやすくなります。
手順2:AAOでアバターを最適化する
アバターのルートへAAO Trace And Optimizeを追加します。

設定項目はとくにいじらなくてOKです。
入れておくだけで働いてくれるので、今回の構成では外したくないツールです。
手順3:重いギミックをQuest版だけ削除する
パーティクルや複雑なギミック、PC専用シェーダーを使う装飾(透過、カットオフなど)は、Android版では動かなかったり、容量の原因になったりします。
でも、PC版からまで消す必要はありません。Android版だけから外したいものには、VRCQuestToolsのPlatform GameObject Removerを使います。
手順
- Android版で消したいGameObjectを選ぶ
VQT Platform GameObject Removerを追加する- 対象プラットフォームでPCを選ぶ
- Androidは選ばない

これで、PC版にはギミックを残したまま、Android版のビルド時だけ外せます。プラットフォームごとにGameObjectを分けられるのは、VRCQuestToolsの特に便利なところです。
手順4:テクスチャを自動圧縮する(LAC Texture Compressor)
アバター容量の大部分を占めるのがテクスチャです。ここはLAC Texture Compressorに任せて、ビルド時にまとめて圧縮します。
ただし、LACをそのまま追加するとPC版にも圧縮がかかります。せっかくの高画質テクスチャまで小さくしたくないので、VRCQuestToolsのPlatform Component Removerを組み合わせます。
手順
- アバターのルートへ
LAC Texture Compressorを追加する - 同じ場所へ
VQT Platform Component Removerを追加する Target ComponentへLAC Texture Compressorを指定する- 削除するプラットフォームでPCを選ぶ


この設定で、ビルド時の動きが次のように分かれます。
- PC版:LACが外れ、高画質なテクスチャをそのまま使う
- Android・iOS版:LACが残り、テクスチャを圧縮する
PC版の画質は守りつつ、モバイル版だけ軽くできる。今回の非破壊対応で、いちばん気持ちいい部分です。
最初はBalancedを使い、容量を超えたときだけ圧縮を強くします。
手順5:PhysBoneとContactを制限内に減らす
VRCQuestToolsの変換画面から、Android版へ残すPhysBoneとContactを選びます。
手順
Tools→VRCQuestTools→Convert Avatar for Androidを開く- 対象のアバターを入れる
PhysBonesタブで、合計8個以下になるように減らすContactsタブで、合計16個以下になるように減らす


スカートやロングヘアなど、見た目への影響が大きいものから残します。胸まわりのPhysBoneは、減らし方によって服へ貫通しやすくなるため、変換後の見た目も確認してください。
手順6:「海苔(ノリ)」化現象を回避する
PC版で使っている半透明の赤面や青ざめは、Android版だと不透明の四角になってしまうことがあります。顔に海苔を貼ったように見えるため、「海苔」と呼ばれている表示崩れです。

パターンA:NoriBlockerを使う
対応アバターがあるなら、まずNoriBlockerを使うのがおすすめです。PrefabをAndroid向けアバターの直下へ入れます。

NoriBlockerは、赤面や青ざめなどのベタ塗り表情をAndroid版で無効にするギミックです。対応アバターなら導入がとても簡単なので、BOOTHにないか先に探してみてください。
パターンB:AAOで削除する(NoriBlocker非対応の場合)
対応するNoriBlockerがない場合は、AAOを使ってAndroid版から赤面や青ざめの部分を削除します。
手順
- 顔のシェイプキーがあるBodyへ
AAO Remove Mesh By Blendshapeを追加する - 赤面や青ざめに使われているシェイプキーを指定する
VQT Platform Component Removerを追加する- TargetへAAOのコンポーネントを指定する
- Windowsビルド時だけAAOのコンポーネントが削除されるようにする

これで、PC版には赤面を残し、Android版だけから外せます。アバターによってシェイプキーの作りが違うため、顔まで削れていないかだけ確認してください。
手順7:ワンクリックで同時アップロードする
ここまで設定できたら、VRChat SDKのBuilder画面を開きます。
- Windows、Android、iOSから公開するプラットフォームを選ぶ
Build and Uploadを押す

PC版とモバイル版は同じアバターIDへ登録され、アクセスした端末に合うバージョンが表示されます。
設定を組んだあとは、Windows・Android・iOSを選んでアップロードするだけ。別プロジェクトを行き来しなくていいのが、この方法の本当に便利なところです。
AndroidやiOSが選べない場合は、Unity Hubから、使用中のUnityへAndroid Build SupportまたはiOS Build Supportを追加してください。
Unity Hubのセッティングはこちらで解説しています。
まとめ
今回の方法なら、PC版の元データを守ったまま、Android・iOS向けだけ衣装、ギミック、テクスチャ、PhysBoneを調整できます。
- PC版:高画質なテクスチャとギミックを残す
- Android・iOS版:モバイル向けに軽量化する
一度組んでしまえば、衣装や髪を変えたあとも同じ流れでアップロードできます。PC版を削らず、モバイル版も別管理しなくていいので、これからもアバターを改変していく人には特におすすめです。

アップロードできたら、QuestやiOSのフレンドに見てもらって確認しましょう!
Quest対応以外の軽量化も以下の記事で紹介しています!



Comments