『AAO: Avatar Optimizer』を使って簡単に軽量化してみよう【VRChatアバター改変ガイド】(2026年6月版)

アバターの軽量化がよく話題に挙がるけど、「結局何をすればいいの?」と思ったことはありませんか?

そんなときに便利なのが、数クリックでアバターを軽量化できるツール『AAO: Avatar Optimizer』。ポリゴン数、マテリアル、BlendShape(シェイプキー)などを手軽に最適化ができるため、VRChatユーザー定番のツールとして広く使われています。

この記事では、

  • AAO: Avatar Optimizerの導入方法
  • まず試したい基本的な軽量化
  • 不要なメッシュ削除によるポリゴン削減
  • テクスチャサイズの削減

について、アバターのアップロードをしたことがある方を対象に分かりやすく解説していきます!

AAO: Avatar Optimizerって?

 『AAO: Avatar Optimizer』(以下、『AAO』)はanatawa12さんが公開しているUnityツールです。この特長は、アバターにコンポーネントを追加するだけで、元のアバターデータを書き換えず、アップロード時に最適化してくれるところ。やっぱりもどしたいと思ったら、追加した『AAO』のコンポーネントを削除すれば元通りです。

そんなわけで、『AAO』はアバター改変支援ツールの『Modular Avatar』と並んで、今やアバター改変に必須級のツールとなっています。

軽量化・最適化はなぜ必要?

そもそも軽量化や最適化はなぜ必要なのでしょうか。

そこには、アバターの『パフォーマンスランク』というものが大きく関わってきます。

アバターのポリゴン数やテクスチャの容量、メッシュの数、マテリアルの数、揺れ物(PhysBone)の数などは、PCやVR機器による映像描画の負荷となるため、VRChatでは負荷の大きさに応じて5段階のパフォーマンスランクが設定されています。

最も負荷が軽量な『Excellent』から、負荷が大きい『Poor』まで、複数の項目について基準値が設定されていて、すべての項目が基準値内に収まっていれば、そのランクとして判定されます。

一方、1項目でも『Poor』の基準を超えてしまうと、アバター全体のランクが『Very Poor』となってしまいます。

また、基準はPCMobile(Quest単体版やAndroidスマホ、iOS)とで2つ設定されており、描画性能が比較的低いMobileの方が制限が厳しくなっています。

パフォーマンスランク基準値の一例(テクスチャメモリー/VRAM消費量)

PCの場合
  • Excellent:40MB未満
  • Good:75MB未満
  • Medium:110MB未満
  • Poor:150MB未満
  • Very Poor:150MB以上
Mobileの場合
  • Excellent:10MB未満
  • Good:18MB未満
  • Medium:25MB未満
  • Poor:40MB未満
  • Very Poor:40MB以上

なお、パフォーマンスランクの判定は、すべての項目が基準値を満たしている必要があります。他の項目については、公式ドキュメントをご確認ください。

パフォーマンスランクによってはイベント参加に制限も

VRChatで開催されているイベントの中には、「定められたパフォーマンスランクより軽量なアバターであること」(例:Poorより軽量であること)という参加条件がある場合があります。

グループインスタンス作成時に、表示できるアバターのパフォーマンスランクの下限を設定できる。

2026年4月に行われたVRChatのアップデートでは、グループインスタンス内で使用できるアバターのパフォーマンスランクを制限できる(設定したパフォーマンスランクより軽量でないと、インスタンス内でアバターが表示されない)設定もできるようになりました。

また、ユーザーによっては、デフォルトで表示できるアバターのパフォーマンスランクや容量を制限していることもあり、せっかく作った改変アバターがデフォルトではインポスター(自動または手動で生成される、簡易的な見た目の代替アバター)として表示されてしまうことも。

「イベントに参加したい!」、「たくさんの人にアバターを見てもらいたい!」という方は、可能な範囲でアバターの軽量化・最適化をしておくとよいでしょう。

アバターによっては、改変に便利なようにメッシュが分割されていたり、表情や体形などのBlendShape(シェイプキー)が多く用意されています。ただ、実際にVRChatへアップロードする際は、それらがパフォーマンスランクを下げる要因になることも。

そんなとき、アップロード時に自動でメッシュを統合してくれたり、使用されていないBlendShapeを削除してくれたりするのが、今回ご紹介する『AAO』です。

Unityに導入してみよう

早速、『AAO』をUnityに導入してみましょう。公式ドキュメントが丁寧に整備されているので、ドキュメントの「インストール方法」に沿って進めれば基本的に大丈夫!

ドキュメント記載のこちらのリンクをクリックすると、VCC(VRChat Creator Companion)またはALCOMが起動してリポジトリを追加する画面が開きます。
(以降はVCCを使って説明します。)

あとは、VCCから追加したいアバターのプロジェクトの「Manage Project」をクリックし、パッケージ管理画面から『AAO: Avatar Optimizer』を選択して追加します。

本記事の作業環境

Unity:2022.3.22f1
VRChat Creator Companion(VCC):v2.4.5
AAO: Avatar Optimizer:1.9.13

まずはとりあえずこれだけ!『AAO Trace And Optimize』

プロジェクトへの追加が出来たら、まずやってみてほしいのが、アバターへの『AAO Trace And Optimize』コンポーネントの追加です。

これは、入れておくだけで以下の内容を自動で最適化してくれる、「とりあえずこれを入れておこう!」みたいなコンポーネントです。

自動で最適化してくれる項目
  • 使用していないBlendShape(シェイプキー)の除去・固定
  • 使用されていないPhysBone等の削除
  • 不要なボーンの統合
  • 分ける必要のないメッシュの統合

導入はとっても簡単。Hierarchyでアバターを選択し、Inspectorウィンドウの「Add Component」「AAO Trace And Optimize」を追加するだけです。

アップロードする前にもうひと手間

この状態でも自動で最適化してくれますが、衣装を着せ変えた後使用しないデフォルト衣装などは削除もしくはタグを「EditorOnly」に変更して、アップロードするアバターに含まれないようにしておくと、より効果的な最適化が可能です。

どれくらい変わった? 比べてみよう

『AAO Trace And Optimize』を追加する前と後で、パフォーマンスを確認してみましょう。

『AAO Trace And Optimize』比較
追加前⇒追加後
  • SkinnedMeshの数:126
  • マテリアルスロットの数:2216
  • テクスチャメモリー:93.37MB62.48MB
  • PhysBoneコンポーネントの数:4223

今回はポリゴン数のみPoorの基準を超過してしまったのでVery Poorのままですが、他の項目はPoorの基準に収まりました。

『AAO Trace And Optimize』を入れれば劇的にすべての項目が軽量化・最適化される!
……というわけではありませんが、導入前後では確実に違うということを実感していただけたと思います。

不要なメッシュを消してポリゴン削減

次はもうひと手間加えて、不要なメッシュを削除してポリゴンの削減をしてみましょう。今回は服で隠れてしまう素体のメッシュを削除します。

『AAO』を使ったメッシュ削除の方法はいくつかあるので簡単に紹介します。

Remove Mesh By BlendShape

指定されたBlendShapeによって動かされる頂点とそのポリゴンを削除することができます。素体を縮小させるBlendShapeに沿ってメッシュを削除したいときに便利です。

Remove Mesh By Box

箱で指定した範囲のポリゴンを削除することができるので、広い範囲のポリゴン削除に便利です。箱は複数設定することも可能です。

Remove Mesh By Mask

マスクテクスチャで指定した範囲のポリゴンを削除できます。なお、マスクテクスチャはあらかじめ用意しておくこともできますが、Unity上で実際に削除される部分を確認しながらテクスチャを塗っていくことも可能です。

BlendShapeではうまく削除できない素体を消したり、アクセサリーや小物など細かい部分のメッシュを削除するのに便利な機能です。

Remove Mesh By UV Tile

UVタイルで指定した範囲のポリゴンを削除するコンポーネントです。Poiyomi Toon ShaderやlilToonのUV Tile Discard機能でモデルの一部が隠せるようになっている場合に、簡単にメッシュを削除することができます。
(詳細はドキュメントをご覧ください。)

ポリゴン削減効果を見てみよう

ポリゴン削減の効果

三角ポリゴンの数
110,552101,813

もともとのアバターと衣装全体のポリゴン数が大きいため、素体の一部を削除してもPoorの基準(70,000)を下回ることはできませんでしたが、それでも1万ポリゴン近く削減することができました。これ以上削減するには、アバターや衣装のモデルをローポリにしていく必要があるので、やり方は別の機会にご紹介します。

とはいえ、あと少しポリゴン数を減らせれば、パフォーマンスランクが良くなりそう……というときは、ぜひ試してみる価値はあると思います。

テクスチャサイズ削減

『AAO』を使えば、テクスチャの解像度を一括で変更して、テクスチャサイズを減らすことが可能です。これにより、アバターのテクスチャメモリーなど各種容量を減らすことができます。

やり方は簡単。アバターのルート部分(VRC Avatar Descriptorがある部分)に『AAO Max Texture Size』コンポーネントを追加して、最大テクスチャサイズを設定するだけです。

テクスチャサイズ削減の効果は?

テクスチャサイズ削減の効果

テクスチャメモリー
59.81MB11.25MB

今回は、2048pxや4096pxの解像度のテクスチャをすべて1024pxに設定したので、テクスチャメモリーが大幅に小さくなりました。

ただし、テクスチャサイズを小さくしすぎると、服の模様や顔の細部がぼやける場合があります。どこまでテクスチャサイズを小さくするかは、実際に確認しつつ調整するのがおすすめです。

できる範囲で、気軽に軽量化してみよう!

ここまで、『AAO: Avatar Optimizer』を使った軽量化の方法をいくつかご紹介しました。「軽量化ってなんだか難しそう……」と思っていた方も、これくらいならできそうな気がしてきませんか?

アバターの軽量化は「やらなければいけない」わけではありませんが、「やっておいて損はない」と思います。もしこれならできそうと思えたら、ぜひできる範囲でやってみてください!

参考

『AAO: Avatar Optimizer』公式ドキュメント
VRChat Creation Performance Ranks

投稿者プロフィール

やまびこ
やまびこ記事を書く人・見る人
2020年11月ごろにQuest2を買ったことをきっかけにVRChatにハマりました。
自分が楽しい、面白いと感じたものをお伝えできるよう頑張ります!