【VRChat】アバター軽量化のやり方|「かわいい」は残して、重さだけ落とす

はじめに:なぜ、今「最適化」が必要なのか?

「軽量化したいけど、画質が悪くなるのは嫌」「せっかくかわいく改変したのに、見た目は変えたくない」

そう思って、最適化を後回しにしていませんか?

軽量化は、何でも小さくして画質を落とす作業ではありません。普段は見えない部分や、必要以上に大きなデータを整理するだけでも、見た目を保ったまま負荷を落とせます。

軽量化には、大きく2つのメリットがあります。

相手に表示してもらいやすくなる

VRChatでは、セーフティ設定やPerformance Rankによって、重いアバターが非表示になることがあります。軽くしておけば、イベントや人数の多いワールドでも見てもらいやすくなります。

VRAM不足や動作の不安定さを減らせる

大きなテクスチャはVRAMを使います。必要以上に高解像度な画像を整理することで、自分だけでなく、同じインスタンスにいる人の負荷も減らせます。

この記事では、目的別に2種類のアバターを作ります。

  • Plan A:見た目をほぼ変えずに軽くする普段使い用
  • Plan B:PC ExcellentとAndroid Poorを目指すイベント用

今回使用するツール(すべて無料)

今回使うのは、次の5つです。

【Plan A】普段使い用|見た目を変えない「純粋な最適化」

Plan Aでは、ポリゴン数を大きく削りません。「大きすぎるテクスチャ」と「分かれすぎた処理」を整理し、普段の見た目を保ったまま軽くします。

1. 巨大なテクスチャを適正化する(lilAvatarUtils)

アバターの容量やVRAM使用量は、テクスチャの影響を大きく受けます。小さなボタンや靴の裏まで4Kになっていないか、lilAvatarUtilsで確認してみましょう。

手順

  1. Unity上部のToolsAvatarUtilsを開く
  2. 一覧のVRAMをクリックし、重い順に並べる
  3. テクスチャごとにMax Sizeを変更する
  4. 右下のApplyを押す

顔やメインの衣装は、まず2K程度を基準に残します。4Kから2Kへ下げても、通常の距離では違いが気にならないこともあります。

靴、小物、裏地などは1024や512まで下げ、Gameビューで確認してください。顔の良さは残し、見えにくいところから軽くするのがポイントです。

2. マテリアルとボーンを整理する(AAO)

続いて、Avatar Optimizerでアバターの構成を整理します。

手順

  1. アバターのルートへAAO Trace And Optimizeを追加する
  2. アバターのルートを右クリックし、Create Emptyで空のオブジェクトを作る
  3. わかりやすい名前を付ける(例:MergeMesh)
  4. 作成したオブジェクトへAAO Merge Skinned Meshを追加する
  5. 顔以外の服、髪、靴、アクセサリーなどを登録する

Trace And Optimizeは、使われていないBoneやPhysBoneなどをビルド時に整理します。Merge Skinned Meshは、分かれているメッシュをまとめる機能です。

トグルで出し入れする服や小物に注意

Expression MenuからON・OFFする服や小物は、まとめ方に注意してください。
常に表示しておく素体、髪、靴などは統合しやすい一方、上着やメガネなどをまとめると、個別に切り替えられなくなる場合があります。追加後は、普段使っているメニューを一通り確認しましょう。

ここまででPlan Aは完了です

普段の交流、ゲーム、写真撮影が中心なら、まずはここまででも十分です。

アップロード前に顔、衣装、表情、トグルを確認し、見た目が変わっていなければPlan Aは完成です。

ステップ2へ進む前に:目指す「数値」を知ろう

ここからは、大人数のイベントでも表示されやすいアバターを目指すPlan Bです。

PC版ExcellentとAndroid版Poorの両方へ収めるため、次の数値を目標にします。

目標ステータス表

項目PC版 ExcellentAndroid版 Poor今回の目標
ポリゴン数32,000以下20,000以下20,000以下
Material Slots4以下4以下1
PhysBone4以下8以下0
Bone75以下150以下75以下

※参考 Avatar Performance Ranking System

【Plan B】イベント用|「PC Excellent / Android Poor」を目指す

Plan Bでは、ポリゴン、PhysBone、マテリアル、Boneをさらに減らします。普段使い版とは別のPrefabを作って進めてください。

アバター選びのコツ

2万ポリゴン以下、PhysBoneなしでも見た目を保ちやすい構成があります。

  • スカートよりズボン:揺れを止めても形が崩れにくい
  • ロングヘアよりショートヘア・まとめ髪:髪が背中へ張り付きにくい
  • リアル等身よりデフォルメ:少ないポリゴンでも輪郭を残しやすい

イベント用の衣装や髪型を選ぶ段階から意識すると、仕上げが楽になります。

1. ポリゴンを20,000まで減らす

Meshia Cascading Avatar Mesh Simplifierを使い、Android版Poorの目安となる20,000ポリゴン以下を目指します。

手順

  1. イベント用アバターを右クリックする
  2. MeshiaCascading Avatar Mesh Simplifierを追加する
  3. 目標Performance RankをMobile-Poorにする
  4. 顔の崩れが気になる場合は、部位ごとの削減率を調整する

顔の削減率を低めにし、服や見えにくい部分で調整すると、印象を残しやすくなります。

2. PhysBoneを「全カット」する

イベント用では揺れを減らし、軽さを優先します。

SDKのBuilder画面またはHierarchyからPhysBoneを探し、コンポーネントのチェックを外します。

GameObject自体を無効にすると、Boneまで止まり表示が崩れることがあります。無効にするのはPhysBoneコンポーネントだけです。

3. マテリアルを「1つ」に統合する(TexTransTool)

TexTransToolを使い、肌、髪、服、靴などのマテリアルを一つへまとめます。

手順

  1. イベント用アバターのルートを右クリックする
  2. TexTransToolTTT AtlasTextureを追加する
  3. 統合するメッシュへチェックを入れる
  4. マテリアル結合グループの「すべて」を選ぶ
  5. Texture Sizeを2048または1024にする
  6. 統合先のマテリアルを指定する

輪郭線が不要な場所にも出る場合は、統合先マテリアルの輪郭線を切って調整します。

メガネやFakeShadowなどの半透明マテリアルは、統合すると塗りつぶされる場合があります。不要なら先に外し、残す場合は別マテリアルにしてください。

4. ボーン数が多い場合はAAO Merge Boneでまとめる

Trace And Optimizeを入れても、ウェイトが設定されたBoneは残ります。PC版Excellentの75本を超える場合は、AAO Merge Boneでまとめます。

髪や尻尾など、手足や頭以外のまとめたいBoneのルートへコンポーネントを追加してください。

すでに75本以下なら、この工程は不要です。

5. Android用に変換してアップロード(VRCQuestTools)

最後にVRCQuestToolsでAndroid向けへ変換します。lilToonなどのPC用シェーダーも、Android対応シェーダーへ置き換えられます。

Quest/iOS対応の詳しい設定は、こちらの記事で紹介しています。

手順

  1. ToolsVRCQuestToolsConvert Avatar for Androidを開く
  2. 軽量化したアバターを「変換元のアバター」へ入れる
  3. シェーダー変換の内容を確認する
  4. VRChat SDKのBuilder画面を開く
  5. Windows、Android、iOSを選んでアップロードする

仕上げ:アップロードと使い分け

完成したPlan Bは、PC版ExcellentとAndroid版Poorに収まっているかSDKで確認します。

  • 普段の交流や写真撮影:Plan A
  • 大人数の集会やイベント:Plan B

見た目を優先したい日と、表示されやすさを優先したい日で使い分けられます。

まとめ

普段使いのアバターは、テクスチャと構成の無駄を整理するだけでも軽くできます。

イベント用は、ポリゴン、PhysBone、マテリアル、Boneを順番に減らし、別のアバターとして用意します。

「かわいい」を残す場所と、イベント用に割り切る場所を分けると、無理なく軽量化できます。

Comments

Copied title and URL