Resonite軽量化設定のススメ!
Resoniteを遊んでみて、動作が微妙に重たい!FPSが思うほど出ない!
やはりハイエンドPCでないとダメなのか?とあきらめる前に!お使いのPCやResonite内の設定の変更を行うことで、ある程度負荷を軽減(軽量化)させることができるかもしれません。
Resoniteは最近のアプデで細かくグラフィックの設定が調整できるようになりました!その主要な設定項目の解説とオススメの設定値、またResonite以前のパソコンやSteamVRの設定の変更で、Resoniteをちょっとだけ快適にできる方法をこの記事で解説します!
この記事では特におすすめの軽量化設定を3つのカテゴリに分けて紹介していきます。
まずは「Resonite外の軽量化Tips」「初心者向けTips」の2つを設定してください!
その上で、まだどうしても重い!という方は「上級者向けTips」をお試しください。
Resonite外の軽量化Tips
VRヘッドセットの画面解像度を下げる
まず第一にやるべきことは、VRの画面の解像度を下げることです。特にグラフィックボードの性能が低い場合、FPSが劇的に上がる可能性が高いです。
ただし解像度=表示される画面の精細さですので、画面解像度を下げるだけ視界がぼやけていきます。設定値を色々と試しつつ、許せるバランスを探りましょう。
※筆者はVIVE Pro環境で、大人数が参加するイベントの際は50%程度まで落としています。
SteamVRの場合は以下の手順です。Vritual Desktop等でも同様の設定項目があるはずです。
モーションスムーシングをオフにする
また、低FPS時に視界がグラついてVR酔いを起こしてしまう場合、モーションスムーシングを切ることでグラグラとした印象が薄れ、快適になる可能性があります。
軽量化とは直接関係がないですが、酔いやすい方はお試しください。
PCの電源オプションを変える
そもそもの話になりますが、電源オプションが省電力モードになっており、機器の本来の性能を活用していない場合もあります。
これは意外と落とし穴として存在する場合があるため、チェックしておくとよいでしょう。
コントロールパネルの電源オプションから、「パフォーマンス優先モード」「Performance」などの設定に変更しましょう。
※PCメーカーによって項目名が異なります。
初心者向けTips(まずはここから)
鏡を閉じる
さて、ここからResoniteの話です。
ホームワールドにもあるResonite標準の鏡は、非常に描画負荷が高いです!VRモードではこれで10~20FPS落ちます。
必要な時以外は閉じておくとよいでしょう。
また、開きっぱなしにする場合は、「設定」から解像度を下げたりすることで大幅に描画負荷を減らすことができます。
ResoniteのHomeを開かないようにする
Resoniteでは起動時に自分のお気に入りを「クラウドホーム」として開くようになっています。
これは便利ですが、Resoniteは存在しているセッションの裏で開いているセッションの情報もメモリ上に維持するため、ホームワールド分のメモリを無駄に消費することになります。
そこで、設定画面からクラウドホームの読み込みを停止させるとよいでしょう。
上記設定後、Resoniteを再起動してください。
※ここで読み込まれなくなったクラウドホームは、ダッシュメニューの「ホーム」タブ>「ホームワールドへ移動」ボタンからいつでも移動することができます。
前に開いていたセッションから必ず抜ける
1つ上に関連して、Resoniteではセッションを移動した後も、それまで居たセッションのワールドや他のユーザのアバターがずっとメモリ上に保持される設計になっています。
これがかなり負荷になるため、セッションを移動した後は元のセッションを「切断する」(抜ける)ことで、メモリ負荷軽減になります。
元のセッションを抜ける操作はセッションタブから行います。以下がその手順です。
Resoniteの画面ウィンドウを小さくする
Resoniteはデフォルトではフルスクリーンモードで起動しますが、ウィンドウモードにし、ウィンドウを小さくすることで描画に必要な負荷を軽減させることができます。
特に、VRモードで遊ぶ場合はデスクトップ画面側の表示は画面を小さくしても問題ありません。(そもそも画面を見ないため)
Alt+Enterでフルスクリーンを解除したのち、ウィンドウの枠をドラッグして画面を小さくすることもできますが、「設定」タブの中に解像度を直接指定する項目があるので、そこで任意の解像度を設定できます。
なおResonite終了時の設定が保持されるようです。
モーションブラーを切る
「ポストプロセッシング」タブの中のモーションブラーを切ることで、軽量化に繋がります。
特に低FPS時には画面が見辛くなるだけですので、「0%」(オフ)にすることを推奨します。
上級者向けTips(見た目に影響あり・要注意)
以下はResoniteの見た目に影響が発生するため、要注意の項目です。
これらのパラメータを変更することで、Resoniteの見た目が大きく変わる可能性があることを理解の上、必ず元の設定値を記録の上、設定変更をお願いします。
(当記事は設定変更により発生した不利益に責任を取りません。)
読み込む最大テクスチャ解像度を制限する
テクスチャ画像の読み込み制限を行うことで、VRAMの使用率を下げることが可能になっています。
以下、設定項目の簡単な説明とオススメ設定値を記載します。
相対テクスチャサイズ:元のテクスチャサイズから、何分の1として読み込むか指定できます。とりあえず「HalfSize」(半分のサイズ)などでよいでしょう。
最大テクスチャサイズ:読み込む最大のテクスチャサイズを指定します。とりあえず「Tex1K」(1k=1024pixel四方のテクスチャまで読み込み)でよいでしょう。
このサイズを超えるテクスチャを制限:この値より大きなテクスチャサイズに対して、上2つの制限設定を反映させます。小さいタイリングテクスチャ等の解像度が低くなりすぎるのを防ぐための設定です。
例えば「512」にしておくことで。512px四方までのテクスチャはそのまま読み込まれ、それ以上のテクスチャサイズは、上の設定項目により1024 px四方まで自動的に圧縮された状態で読み込まれます。テクスチャフィルタリング:どうしてもVRAMが少ない場合、「Bilinear」にすると軽くなるかも。
設定変更後、「すべてのテクスチャを再度読み込む」を押下してください。
以下が結果の比較です。(FPSは参考にしないでください)
違いがわかりますでしょうか。
細部を見るとテクスチャの微細な柄や、ノーマルマップの凹凸がちょっと荒くなっているなど差がありますが、ほぼ間違い探しのレベルで、データ量は大幅に減っているにも関わらず、見た目の印象はほとんど左右されないはずです。
※余談ですが、集会などの一般的な交流イベントの場合、お互い自然に1メートル程度以上の距離を維持して会話するような傾向にあります。
その際、アバターのテクスチャ解像度が4Kであっても1Kであっても、見た目の印象には大きな差はないという意見を筆者は持っています。
逆に、ここで試しに、極端な数値、例えば128ピクセルまで制限してみると以下のように明らかに画質が劣化しているのが分かります。
(でも、ポリゴン数やシルエットに変化はないため、意外と印象に差がないですね?)
ライトの当たる数を制限する
ピクセル単位でシミュレートする光源の数を制限することで、GPU負荷の軽減になります。
これはライト(光源)が密集しているワールドで大きな効果を発揮します。
※PBS系のシェーダーには効果がありません。
だいたい「4」程度まで下げてもほとんどの場合大きな影響は無いのではという印象ですが、おびただしい光源が使われているワールド演出で意図しない見た目になってしまう場合があります。(例えば、ライブステージなど)
具体的にどのように変化するかを以下に示します。
以下のデモシーンではアバターの周りの玉がそれぞれの色のPointLightになっており、同時に最大4つの光源が当たるようになっています。
このシーン上で、「ピクセルあたりのライト」の設定値を変化させます。
※アバターの脇の球はPBS Metallic製で、この設定値の影響を受けません。
また動画のほうが効果が分かりやすいため、同じシーンのデモ動画を以下に貼ります。
アンチエイリアシングを無効にする
特に高解像度なディスプレイやHMDを使用している場合、アンチエイリアシングを無効にすることで大幅にVRAM使用量が減り、描画負荷が軽減されます。
アンチエイリアシングは隣接するピクセルの間をスムーズに補完させ、ギザギザ(ジャギー)な印象になるのを防ぐ技術です。
Offにした際、画面のギザギザ感が出ますので、それがちらついて見辛い・目が疲れるという方が一定数居ますが、試してみて問題なさそうであれば「Off」でよいと思います。
シャドウカスケード・影の解像度を下げる
影の解像度を下げることで、VRAMに掛かる負荷を軽減することができます。
どうしても重い時は、「None」及び「Low」に変更することで、影の表示の荒さを犠牲に、負荷を軽減させることができます。
頂点に与える影響のボーン数上限を設定する
アバターに仕込まれた揺れもの(髪の毛やしっぽ、スカートの裾など)の物理演算はCPUに負荷を掛けることになります。
この「スキンウェイト」の項目は、「1つの頂点」へ影響を与える「ボーンの本数」を減らすことにより、CPUの負荷が軽減されます。
ただし、なめらかに曲がる表現は犠牲になり、急に大きな角度で曲がるような、カクカクとした不自然な曲がり方になります。
(また、低FPS時にボーンが暴れてしまうことは改善されません)
補足情報
「アバターを非表示にする」の効果は非常に限定的
フレンドタブから特定のユーザの「アバターを非表示」にすることが可能ですが、テクスチャは通常と同じようにロードされ、IKや揺れもののリアルタイム物理計算は続くため、負荷軽減にはあまり効果がありません。
非常にエッジケースですが、ポリゴン数が数百ポリゴン以上など尋常でなく多いアバターは「非表示」にすることでMeshRendererがオフになるため軽量化につながる可能性は、「まったく無いという訳ではない」程度。
SteamVR Homeを無効にする意味はあまりない(が、やった方が良さげ)
まれに聞く言説で「SteamVR Home」を起動しているとResoniteが重いという説ですが、SteamVR上からResoniteを起動することで、SteamVR Homeのアプリケーションが自動的に終了するので、常時負荷は掛かっているわけではありません。
しかし、それとは別にSteamVRの起動時やResonite等の別のアプリの終了後、使わないゲームを起動するのと同じ負荷がPCに掛かるので、使っていないのであれば停止するのがよいでしょう。
停止する手順は以下です。
おわりに
Resoniteは、他VRSNSと比べてリアルタイムに制御できる部分が多く、自由度の高いプラットフォームであることの引き換えに、やはりマシンスペックを要求されます。
なお現在(2024年9月時点)、開発チームでも軽量化(パフォーマンス向上)が急務という認識を持っており、急ピッチで軽量化に向けた開発が進んでいます。
願わくばあなたがこの記事を読む頃には、そのアップデートが実現され、この記事で紹介するような調整が不要なものになっていますように。
おわり