VRChatで使用しているアバターのパフォーマンスランクが「Very Poor」になってしまうことがあります。Very Poorランクは 、ワールドによっては表示が制限されたり、他ユーザーへの負荷となる可能性もあるため、可能な範囲で最適化が推奨されています。
今回は、Unityのツール「Mantis LOD Editor」と「MeshDeleterWithTexture」を用いて、アバターのポリゴン数を削減し、パフォーマンスランクを「Very Poor」から「Poor」へ改善できたため、その手順と方法を記録としてまとめます。
最適化結果:ビフォーアフター
最適化前:188,784ポリゴン / パフォーマンスランク: Very Poor

最適化後:69,995ポリゴン / パフォーマンスランク: Poor

上記のように、見た目への影響を最小限に抑えつつ、ポリゴン数を63%削減することに成功しました。
【はじめに:この記事を読む前に】
この記事は、約19万ポリゴンのハイエンドモデルを無理やり7万ポリゴン以下に削減しようとした記録です。正直なところ、実際にやってみて「ここまで削減する必要があったかな?」と感じる部分もありました。
実用的には、パフォーマンスが重要な場面では別途軽量なアバターを用意する方が現実的です。ただ、「こう いう削減方法もあるんだ」という知識として、あるいは軽度の最適化(10万→7万ポリゴン程度)を目指す場合の参考として、気軽に読んでいただければと思います。
具体的には、以下の方法でポリゴン数を効果的に削減しました。これらのテクニックは、アバター改変や自作モデル制作においても重要になると思われます。
- 隠れたパーツの削除:服の下で見えない体の一部(肘など)のメッシュを削除
- Mantis LOD Editorによる削減:各パーツ(服、髪、小物など)のポリゴン数を、見た目が崩れない範囲で削減
- MeshDeleterWithTextureによる部分削除:服の不要な装飾や、さらに隠れた部分のメッシュをテクスチャ指定で削除
- (応用)MeshDeleterによるパーツ分離:複合パーツ(例:インナーとアウターが一体化した服)を分離し、それぞれ個別に最適化
この記事では、これらの手順を順番に解説していきます。
必要なツールと準備
今回のVRChatアバター最適化(ポリゴン削減)で使用した主なツールは以下の通りです。
-
Mantis LOD Editor - Professional Edition (Unity Asset Store / 有料: 約$55)
- 高品質なポリゴン削減(リダクション)機能を持つ定番のUnityアセット。アバターの各パーツのポリゴン数を効率的に減らせます。購入後、UnityのPackageManager > My Assetsからインポートします。
-
【非破壊でポリゴン削減】Mantis LOD EditorのNDMF化ツール (Booth: ひつぶさん作 / 無料 ※Mantis LOD Editor本体が必要)
- 上記のMantis LOD Editorを、VRChatアバター改変で広く使われているフレームワーク「NDMF(なでもふ)」上で、より安全かつ簡単に(非破壊的に)利用できるようにするツール。Boothからダウンロードし、unitypackageをインポートします。実際にアバターに適用するのはこちらです。
-
MeshDeleterWithTexture beta (Booth: がとーしょこらさん作 / 無料)
- テクスチャ画像上で範囲を指定することで、対応するメッシュ部分を削除(実際には新しいメッシュを生成)できる非常に便利なUnityエディタ拡張。Mantisでは難しい、服の細かい装飾の削除や、隠れた部分のメッシュ除去に役立ちます。Boothからダウンロードし、unitypackageをインポートします。
-
anatawa12's VRC Avatar Tools (旧: gists pack) (VCC経由で導入可能)
- アバターのパフォーマンス統計情報を詳細に表示する機能などが含まれるツール群。特に「Actual Performance」タブは、最適化作業中の現在のポリゴン数やパフォーマンスランクをリアルタイムで確認するために必須です。VCC (VRChat Creator Companion) の「Manage Project」から簡単に追加できます。
【重要】Actual Performanceタブでの確認方法:
anatawa12's VRC Avatar Toolsを導入すると、VRChat SDK Control Panelに「Avatars」タブが追加され、その中に「Actual Performance」という項目が表示されます。MantisやMeshDeleterで最適化を行った後、Unityを再生モード(Play Mode)にすると、このタブの情報が更新され、最新のポリゴン数やパフォーマンスランクを確認できます。目標は、ここの「Polygons」の数値を70,000以下にすることです(Poorランクの上限)。


(↑この例では188,784ポリゴンでVery Poor。目標は70,000ポリゴン以下!)
知っておくと便利な用語
アバター最適化を進める上で、いくつか知っておくと理解が深まる用語があります。
-
非破壊的 (Non-Destructive) 元のデータを直接書き換えずに行う編集方法のこと。今回使うNDMF版MantisやMeshDeleterは、元のメッシュデータを保持したまま処理を行うため、「非破壊的」です。つまり、設定を間違えたり、結果が気に入らなかったりした場合でも、ツール(コンポーネント)を削除したり設定を戻したりするだけで、簡単に元の状態に戻すことができます。初心者でも安心して試せる大きなメリットです。
-
NDMF (Nade Nadenadeshiko Mod Fwk / なでもふ) VRChatアバター改変のためのフレームワーク(仕組み)の一つ。アバターの色々な設定や改変を「コンポーネント」として管理し、それらをビルド時に自動で適用してくれます。非破壊的な改変と相性が良く、多くの便利ツールがNDMFに対応しています。今回使う「Mantis LOD EditorのNDMF化ツール」もその一つです。
Mantisでポリゴン削減

まずは、アバターの中でどのパーツがポリゴン数を増やしている主犯なのかを特定しましょう。
-
UnityでVRChat SDK Control Panelを開き、「Builder」タブを選択します。
-
アバターを選択した状態でビルドを実行しようとすると、パフォーマンスに関する警告(Validation Results)が表示されます。「Polygons」に関する警告メッセージの横にある「Select」ボタンをクリックすると、ポリゴン数が特に多いメッシュ(衣装パーツなど)がHierarchyウィンドウでハイライトされます。
-
ハイライトされたオブジェクト(衣装パーツなど)に、「NDMF Mantis LOD Editor」コンポーネントを追加します。(Inspectorウィンドウで「Add Component」し、"Mantis"で検索すると見つかります)
-
追加されたコンポーネントの「Quality」スライダーを調整します。この数値を下げるほどポリゴン数が削減されますが、下げすぎるとメッシュの形が崩れてしまいます。

【ポイント】Shaded Wireframe表示を活用しよう
Qualityスライダーを調 整する際は、Unityのシーンビュー表示を「Shaded Wireframe」に切り替えると、ポリゴンの削減具合やメッシュの崩れ具合が視覚的に分かりやすくなります。「Shaded」表示と適宜切り替えながら、見た目を損なわないギリギリのラインを探っていきましょう。

この「パーツ特定 → コンポーネント追加 → Quality調整」を、ポリゴン数が多いパーツに対して繰り返していくのが基本的な流れです。
【重要】使わないパーツは完全に削除しよう
アバター改変をしていると、「元の服や髪型も、いつか使うかもしれないから一応残しておこう」と、非表示にしただけでHierarchyに残してしまうことがあります。しかし、非表示にしただけのメッシュもポリゴン数としてカウントされてしまう場合があります!
今回の私のアバターも、元のマヌカちゃんのエプロンパーツなどを非表示で残していましたが、これらをHierarchyから完全に削除したところ、約16,000ポリゴンも削減できました。
使わないパーツは思い切って削除しましょう。もし後で必要になった場合は、元のアバターや衣装のunitypackageを再インポートすれば簡単に戻せます。
