SONY

ヒントと制約事項

空間再現ディスプレイ(Spatial Reality Display)は、他のシステムと比較して視線認識システム、SR Renderingシステムなどいくつかの特徴的な点があります。 またPC単体のアプリケーションというより、どちらかというとVRアプリケーションに近いシステムになっています。そのため、いくつかのVR固有のヒントや制約があります。

全Plugin共通

待ち時間が短いことは、良いユーザー体験のために非常に重要です。

レイテンシを最小化するためにVSyncを使用しないことを強くおすすめします。 Project Settings > Quality > VSync Count内のDon't Syncを選択することでVSyncをオフすることが可能です。 しかし、Vsyncを切るとthe tearing problemが発生するため、最終的な使用については開発者ご自身でご検討ください。

また、レイテンシを短縮するためにはコンテンツの最適化についても注意が必要です。 VSyncをオフにしていても、アプリケーションのパフォーマンス負荷が高ければレイテンシは長くなります。

これはVRコンテンツ開発時のパフォーマンス最適化と非常に似ています。

Spatial Reality DisplayのScreen Spaceを使用したコンテンツは、ユーザーに不快感を与えたり、健康に悪影響を及ぼす可能性があります。

例えば、Unity UIでは、World Space Render Modeのみがサポートされており、Screen Spaceのモードはサポートされていません。 Screen Space ModeのキャンバスでUI要素を配置すると、アプリケーションを再生したときにUI要素が表示されなくなります。 (詳細はこちらを参照ください: Canvas | Unity UI)

また、Video Playerでは、Camera Far/Near Plane Render Modesはサポートされていません。SRディスプレイでVideo再生したい場合は以下の手順を試してください。

  1. Spatial Reality Display View Spaceにplaneを配置する。

  2. planeVideo Playerをアタッチします。

  3. Video PlayerのレンダリングモードをMaterial Override Render modeに設定します。

  4. 任意のVideo ClipをVideo Playerに設定します。

アプリを起動すると、planeに動画が再生されます。

Spatial Reality Display Plugin for UnityをプラグインしたUnityアプリは、Spatial Reality Displayとの接続が切れるとエラーメッセージが表示され、動作が停止します。

BRP/URP Plugin共通

Spatial Clippingは、射影行列を変更するため、クリップ空間座標における奥行きが変更されます。このため、クリップ空間座標でZ値を使用しているシェーダは期待通りに動作しないことがあります。

そのため、そのようなシェーダを使用したマテリアルやパーティクルは、Spatial Clippingが有効な場合、期待通りに動作しないことがあります。

Spatial Reality Display Plugin for Unityではoverlayされたcameraを制御できないため、Camera Stacking機能はサポートされません。

Spatial Reality Display Plugin for Unityで以下のような問題が発生します: Project SettingsでGraphics APIをOpenGL Coreに設定し、Build SettingsDevelopment Buildを無効にしている場合、 Reflection Probe(TypeがRealtimeRefresh ModeがEvery frame、Time SlicingがNo time slicing)があると、アプリケーションは黒画面しか表示できません。

必要に応じて、LeftEyeCameraのカメラコンポーネントにMainCameraタグを追加してください。

WatcherCameraのカメラコンポーネントにMainCameraタグを追加してはいけません。 WatcherCameraが処理負荷を軽減するために実行時に自動的に無効化され、Camera.mainでコンポーネントを取得することができないためです。

HDRP Plugin