パフォーマンスランク
とは?
VRChat で使うアバターの「重さ」に関する指標のこと。パフォーマンスランクには下記のような段階があり、Excellent が一番軽く、Very Poor が一番重い
下記は公式のガイドに基づくおおよその概要:
table:performance rank
Excellent PCVRやスタンドアロンヘッドセット単機への負荷が最も低いランク。一番軽い
Good Excellent の次に軽いランク。アバター軽量化を目指す場合、Good を目標にすると良い
Medium Good より重めのランク。公式では Medium でも大丈夫と記載されている
Poor Medium 以上の負荷があるアバターへのランク。Poor 辺りから非表示にされる場合が増える
VeryPoor 最適化が必要になってくるランク。パフォーマンス上の問題がある、と公式からも言われるランク
PCVR と Quest単機 などのモバイルヘッドセットでは上記のランク付けの基準点が違い、PCVR 向けに Excellent に仕上げたアバターでもモバイルヘッドセットでは VeryPoor 〜 Poor になってしまうなど、モバイル向けのパフォーマンスランクは PCVR よりかなり厳しい基準となっている 具体的にどの値がどの部分に負荷を掛けるか
これについては次の note が詳しい:
上記の note を元に解説すると次のようになる:
table:アバターの負荷に関する概要
項目名 負荷の対象 解説
ダウンロードサイズ ネットワーク 圧縮されたアバターをダウンロードする際の容量
非圧縮サイズ 不明 アバターの元々の容量。Unity などで扱う非圧縮サイズ
ポリゴン数 GPU アバターに含まれる頂点・点の数
マテリアルスロット数 CPU + GPU 一対のテクスチャとシェーダーのスロット数。ここが多いとドローコールが増える
ボーン数 CPU アバターの姿勢計算に使われるボーンの数。ここが多いと姿勢計算の負荷が増える
基本メッシュ数 CPU アバターに含まれるメッシュの数。ここが増えると CPU でのドローコールの数も増える
スキンドメッシュ CPU + GPU 3D モデルをボーンに沿ってなめらかに変形(スキニング)させる技術
各種PhysBones関連 CPU 各種物理演算時に使われるボーン関連の値。ここが多いと当たり判定の計算が増える
テクスチャメモリ VRAM (GPU) シェーダーと組み合わせるテクスチャの容量。この容量は VRAM の使用容量と直結する
パーティクル CPU + GPU 動的な演出に関連する値。CPU でロジック計算を行ない、描写は GPU が担う
もう少し細かい点について知りたい時は?
公式のドキュメントである下記にすべての基準が 英語で 記載されているので、そちらを読む方が確実
ただ英語を読むのはつらい、という場合は機械翻訳に掛けると良い
パフォーマンスランクの最適化に際して留意しておくこと
nyarla.icon
パフォーマンスランクへの最適化については アバターで表現できることを削減する という側面もあるため、アバターの軽量化とアバターでの豊かな自己表現が両立しない場合もあります
そのため、アバターの最適化・軽量化については、何を残し、何を削るか という取捨選択が必要となります
-
以下みんなの私見
nyarla.icon
Excellent - 可能な場合ここを目指す。またモバイル対応をする場合 PCVR 向けでの Excellent 通過は必須
Good - おおよそのアバターはこのランクを目指して最適化する
Medium - アバターの表現上、Good 化が困難な場合においては最低限ここまでは最適化する
Poor / VeryPoor - アバター無改変だと大抵このランクなので、最適化の対象とする
PCVR 向けアバターのQuest単機対応は、条件によってはかなり難しく、nyarla.icon のスキルでは Poor が限界 と言うのもモバイル向けの対応はポリゴン数の削減がかなり厳しく、やり方によってはアバターが破綻するため
綺麗にポリゴンを削ろうとすると Blender での作業が必須で、nyarla.icon は Blender を修得していないので厳しい……