Oculus Rift / Gear VR 向け Unity 最適化メモ Unity 5.1 以降を使用し、かつ VR レンダリングを使用 Oculus SDK に比べて、シャドウマップの生成やカリング等、カメラふたつ分の処理が1回で行われるため、 その分処理が高速化されています。 ただし、カメラに対する機能のみなので、OVRGamepad や OVRMenu などは使えません。 Oculus SDK を使用する場合は、Unity 5.0.2 でないとうまく動作しない場合があります。 ダウンロードはこちらから。(パッチリリースの最新版の使用を推奨) https://unity3d.com/jp/unity/qa/patch-releases ※ 5.1.0p1 では、まだ Gear VR サポートにバグがあります。 設定は、Edit > Project Settings > Player から行います。 GPU Skinning を調整 デスクトップ向けなら、GPU Skinning をオンにしたほうが処理負荷は軽減します。 ただし、Gear VR など GPU を常にフルロードするような環境では、GPU Skinning オフのほうが フレームレートは稼げます。 Rendering Path は Forward を使用 Forward の場合、全オブジェクトに対してライトの個数分の描画が発生します。(つまり、ひとつなら1回) Deferred の場合、全オブジェクトに対して2回の描画が発生します。 シーン中にライトがひとつの場合は Forward を、複数個配置する場合は Deferred を推奨します。 ライトはシーン中にひとつのみ Directional Light を配置 ライトの個数は増えるほど描画コストが跳ね上がるので、ひとつのみ推奨します。 ライトのシャドウの調整 処理負荷の高い順で以下のようになっています。状況に応じて設定を行ってください。 Soft Shadows > Hard Shadows >>> No Shadows アンチエイリアスを調整 ※ Unity 5.1 以前の情報なので注意 Oculus SDK を使用する場合、Disabled に設定する必要があります。(OVRManager 側で調整) 設定は、Edit > Project Settings > Quality から行います。 Vsync はオフに設定 ※ Unity 5.1 以前の情報なので注意 Oculus SDK 側で自動的にタイミングを取ってくれます。 Pixel Light Count を 0 に設定 Pixel Light Count が 1 以上でかつ Forward レンダリングの場合、ふたつ目以降のライトの当たる オブジェクトに対して、加算合成による追加の描画が行われ、非常に重くなります。 モデルのインポート設定で、Tangents を Calculate または None に設定 ノーマルマップを使用しないモデルでは Tangents は不要なので、これを無効化するとモデルの頂点数が減るため、 処理が高速化されます。 モデルのマテリアルの数と半透明描画を制限 モデル描画に関して、基本的にマテリアルの数が多いほど描画負荷が上がるので、なるべく少なく調整します。 半透明描画も、特に Gear VR では描画面積に比例して遅くなるので、最小限にします。
© Copyright 2024 ExpyDoc