UnityでOculus Quest開発するならこれ読んどけ - UnityでのMobile VR用の推奨パフォーマンス設定 -9. Color SpaceでLinearが選択できます。inear color はよりリ
アルなライティングを生成します。
Project SettingsのPlayerタブ、Other Settingsを開き
Graphics APIsのVulkanを削除します。
Oculus Go/Questで OpenGLES 3がサポートされています。
Multithreaded Renderingにチェックします。
グラフィックAPI呼び出しをメインスレッドから別のワーカースレッドに移
動します。CPU負荷をさげることができます。
PlayerタブのOter Settings
12. Minimum API Levelを「Android 6.0 Marshmallow
(API level 23)」に変更します。
Scripting Backendに IL2CPPを選択します。
デバイスで高速に実行されますが、ビルド時間が長くなります。 (OVR Quick
Scene Previewを使って、ビルド時間を短縮することをすすめます。)
Target ArchitecturesのARMv7のチェックを外し、
ARM64にチェックを入れます。
PlayerタブのOter Settings
14. Prebake Collision Meshesにチェック
Unityは、読み込み時に物理メッシュを計算します。このボックスをチェッ
クすると、代わりにビルド時にメッシュが生成されます。これにより、プロ
ジェクトのビルドサイズが増加しますが、レベルの読み込み時間が短縮され
ます。 APKのサイズに問題がない場合は、このチェックボックスをオンに
することをお勧めします。
Keep Loaded Shaders Aliveにチェック
このオプションを選択すると、起動時にすべてのシェーダーがロードされます。これに
より、アプリケーションの初期ロード時間が増加しますが、オンデマンドシェーダーコ
ンパイルによる問題は解決されます。オンデマンドでシェーダーをコンパイルすること
が問題になる場合は、このチェックボックスをオンにします。
PlayerタブのOter Settings
15. Optimize Mesh Dataにチェック
このボックスをチェックすると、メッシュを使用するマテリアルによって参
照されていないメッシュから頂点データ(接線、法線、色、UVなど...)が
削除されます。このオプションを有効にすると、最終的なAPKサイズを小さ
くすることができます。
PlayerタブのOter Settings
17. XR Settingsタブを開き、Virtual Reality
Supportedにチェックします。
Virtual Reality SDKsリストにOculus SDKを追加し
ます。
Stereo Rendering ModeにSingle Passを選択します。
左右の目の画像を同時に 1 つのまとめてレンダーテクスチャにレンダリングす
ることで、パフォーマンスを向上させます。
PlayerタブのXR Settings
21. Pixel Light Count to either に1か0に設定します。
ピクセルライトカウントは1にする必要があります。可能であれば、頂点ラ
イトシェーダーを使用してみてください。その場合、ピクセルライトカウン
トは0に設定できます。
Anisotropic TexturesをDisableに設定します。
ARM Mali GPU'sは異方性フィルタリングをサポートしていません。
Anti Aliasingに、4x Multi Samplingを選択します。
Qualityタブ
22. Shadows にDisable ShadowsかHard Shadows
Onlyを選択します。
Blend Weightsを2 Bonesに設定します。
V Sync CountをDon‘t Syncに設定します。
oculusランタイムは独自のV Syncを処理します。
Qualityタブ
26. Graphics tabタブを開き、Standard shader
qualityのすべてのドロップダウンをLowを選択し
ます。
可能であれば、標準シェーダーの使用を避け、代わりにモバイルシェーダー
を使用してください。
Rendering Pathは全てForwardを選択します。
Real Time GI CPU Usageのすべてのドロップダウ
ンをLowを選択します。
Graphicsタブ
30. Fixed Foveated Rendering
人の目線がいく視野の中心部のみを高解像度で、まわりを低解
像度でレンダリングすることで負荷を減らします。
OVRManager.fixedFoveatedRenderingLevel =
OVRManager.FixedFoveatedRenderingLevel.{High~Off};
負荷状況に応じて、おまかせで変更する場合
OVRManager.useDynamicFixedFoveatedRendering = true;
スクリプトでの設定
(Oculus Integrationを利用する場合)