SONY

SRDisplayManager Prefab

SRDisplayManager PrefabはUnityPuginの重要なPrefabです。

基本的にUnity Spatial Reality DisplayアプリはSRDisplayManager Prefabを使用する必要があります。

  1. Spatial Reality Displayのセットアップ, 完了していない場合はSetup Spatial Reality DisplaySetup Spatial Reality Display Settingsを参照してください
  2. SRDisplay UnityPluginがインストールされたUnity Projectがあること, 準備していない場合Setup for Unity"Hello cube!"アプリを作成するを参照してください

GameObject name Description
SRDisplayManager Spatial Reality Display Settingsを扱うSRDManagerコンポーネントを持っています。
└─WatcherAnchor コンポーネントはありません、実行時のユーザの頭の位置を表示します。
 ├─WatcherCamera 実行時に無効化されるカメラコンポーネントを持っています。これは、ユーザー、UICamera、またはレンダリング以外の何かからのレイキャスティングのためのものです。
 ├─LeftEyeAnchor コンポーネントはありません。これは、実行時のユーザの左目の位置を表示します。
 │ └─LeftEyeCamera ユーザーの左目のシーンをレンダリングするカメラコンポーネントを持っています。
 └─RightEyeAnchor コンポーネントはありません。これは、実行時のユーザの右目の位置を表示します。
  └─RightEyeCamera ユーザーの右目のシーンをレンダリングするカメラコンポーネントを持っています。

3種類のアンカーがあります: WatcherAnchorLeftEyeAnchorRightEyeAnchor

WatcherAnchorLeftEyeAnchorRightEyeAnchorは、それぞれユーザーの頭、左目、右目の位置を示します。

これらのアンカーを利用して、ユーザーとのインタラクションを行うことができます。SRDisplayLookAtSampleサンプルでは、WatcherAnchorを見る対象として使用しています。

Caution

認識技術は常に正確なものではなく、エラーが起きる可能性があります。また、これらのアンカーは必ずしもユーザの頭、左目、右目の正しい位置を示すものではありません。

3種類のカメラがあります: WatcherCameraLeftEyeCameraRightEyeCamera

ユーザーからのレイキャスティング(UIカメラなど)に使用することを想定しているため、WatcherCameraのカメラコンポーネントは実行時に無効化されます。

カメラの設定を変更したい場合(Clear FlagsBackgroundなど)、左右のカメラの設定はユーザーが快適に使用できるように、同じにしておく必要があります。

また、カメラコンポーネントにスクリプトを追加したい場合は、LeftEyeCameraRightEyeCameraの両方にスクリプトを追加しなければなりません。SRDPostProcessingSampleAppサンプルでは、LeftEyeCameraRightEyeCameraの両方にPost-process Layerスクリプトがあります。

Tips

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

SRDManagerは、Spatial Reality Displayランタイムを扱うコアコンポーネントです。また、アプリケーション開発者が設定すべきSpatial Reality Displayの基本的なパラメータを持っています。

SRDManagerは、シーン内に1つだけでなければなりません。

Is SR Rendering Active

SRレンダリングのオンオフを切り換えることができます。falseの場合、LeftEyeCameraのカメラからレンダリングされた画像が表示されます。

Is Spatial Clipping Active

空間クリッピングの有効・無効を設定できます。 詳細はSpatial Clippingを参照してください。

Is Crosstalk Correction Active

クロストーク補正の有効・無効を設定できます。詳細はCrosstalk Correctionを参照してください。

Scaling Mode

ELF-SR1/ELF-SR2 両対応のアプリケーションを作成することができますが、パネルサイズが異なるため以下の2つの方法を用意しています。

  1. scaled size

    ELF-SR1とELF-SR2で同じ領域が表示されるように、ELF-SR2 では拡大して表示されます。

  2. original size

    オブジェクトが ELF-SR1とELF-SR2で同じ大きさで表示されます。言い換えると ELF-SR2 では ELF-SR1 より広い領域が表示されます。こちらの設定を選択した場合、ELF-SR1とELF-SR2での表示領域の違いを確認できるように GIZMO のサイズを切り換えることができます。

Is High Image Quality mode

SDK 2.1.0 の Plugin より画質向上が図られましたが、SDK 2.0.1以前の Plugin から 2.1.0 以降の Plugin にアップデートすると、アプリケーションの表示内容が変化するものがあります。その場合には本項目をオフにしていただくと従来通りの表示内容とすることができます。

Is Wallmount mode

モニタアームなどで ELF-SR2 を垂直に設置されていることを前提にしたアプリケーションを開発するときに設定します。オンにすると GIZMO の表示が変化しパネル面が垂直に表示されます。45度の時より表示される範囲が広がりますので表示範囲に合わせたコンテンツを開発することができます。

Note

Wallmount モードは ELF-SR2 でのみ有効です。ELF-SR1 では wallmount がオンであっても、従来通りの45度前提の表示となります。そのため、ELF-SR2 では wallmount モードで使用するアプリケーションを ELF-SR1 でも動作させる場合はシーンを分けてアプリケーション側で表示するシーンを切換えていただくなどの処理が必要となります。

SRD View Space Scale

設定値でSpatial Reality Display Space Scaleを変更することができます。 詳細は View Space Scalingを参照してください。

UnityEventの一般的な使用方法は、Manual UnityEventを参照してください。

On SRD View Space Scale Changed Event

SRDisplay View Space Scaleの値が変更されたときに呼び出されるコールバックを設定することができます。

On Face Track State Event

このフレームで顔認識が成功したかどうかを示すフラグを取得するコールバックを設定することができます。