SRDisplayManager Prefab
SRDisplayManager PrefabはUnityPuginの重要なPrefabです。
基本的にUnity Spatial Reality Display(SR Display)アプリはSRDisplayManager Prefabを使用する必要があります。
前提条件
- SR Displayのセットアップ, 完了していない場合はSetup SR Display,Setup SR Display Runtimeを参照してください
SRDisplay UnityPluginがインストールされたUnity Projectがあること, 準備していない場合Setup for Unity、"Hello cube!"アプリを作成するを参照してください
Hierarchy
GameObject name | Description |
---|---|
SRDisplayManager | SR Display Runtimeを扱うSRDManagerコンポーネントを持っています。 |
└─WatcherAnchor | コンポーネントはありません、実行時のユーザの頭の位置を表示します。 |
├─WatcherCamera | 実行時に無効化されるカメラコンポーネントを持っています。これは、ユーザー、UICamera、またはレンダリング以外の何かからのレイキャスティングのためのものです。 |
├─LeftEyeAnchor | コンポーネントはありません。これは、実行時のユーザの左目の位置を表示します。 |
│ └─LeftEyeCamera | ユーザーの左目のシーンをレンダリングするカメラコンポーネントを持っています。 |
└─RightEyeAnchor | コンポーネントはありません。これは、実行時のユーザの右目の位置を表示します。 |
└─RightEyeCamera | ユーザーの右目のシーンをレンダリングするカメラコンポーネントを持っています。 |
Anchors
3種類のアンカーがあります: WatcherAnchor、 LeftEyeAnchor、 RightEyeAnchor
WatcherAnchor、LeftEyeAnchor、RightEyeAnchorは、それぞれユーザーの頭、左目、右目の位置を示します。
これらのアンカーを利用して、ユーザーとのインタラクションを行うことができます。SRDisplayLookAtSampleサンプルでは、WatcherAnchorを見る対象として使用しています。
Caution
認識技術は常に正確なものではなく、エラーが起きる可能性があります。また、これらのアンカーは必ずしもユーザの頭、左目、右目の正しい位置を示すものではありません。
Cameras
3種類のカメラがあります: WatcherCamera、LeftEyeCamera、RightEyeCamera
ユーザーからのレイキャスティング(UIカメラなど)に使用することを想定しているため、WatcherCameraのカメラコンポーネントは実行時に無効化されます。
カメラの設定を変更したい場合(Clear Flags、Backgroundなど)、左右のカメラの設定はユーザーが快適に使用できるように、同じにしておく必要があります。
また、カメラコンポーネントにスクリプトを追加したい場合は、LeftEyeCameraとRightEyeCameraの両方にスクリプトを追加しなければなりません。SRDPostProcessingSampleAppサンプルでは、LeftEyeCameraとRightEyeCameraの両方にPost-process Layerスクリプトがあります。
Tips
このPrefabにはMainCameraはありません。必要であれば、LeftEyeCameraのカメラコンポーネントにMainCameraタグを追加してください。 WatcherCameraのカメラコンポーネントにMainCameraタグを追加するべきではありません。 これは、WatcherCameraが処理負荷を軽減するために実行時に自動的に無効化されてしまい、Camera.mainでコンポーネントを取得できないからです。
SRDManager component
SRDManagerは、SR Displayランタイムを扱うコアコンポーネントです。また、アプリケーション開発者が設定すべきSR Displayの基本的なパラメータを持っています。
SRDManagerは、シーン内に1つだけでなければなりません。

Properties
Is SR Rendering Active
SRレンダリングのオンオフを切り替えることができます。falseの場合、LeftEyeCameraのカメラからレンダリングされた画像が表示されます。
Is Spatial Clipping Active
空間クリッピングの有効・無効を設定できます。 詳細はSpatial Clippingを参照してください。
Is Crosstalk Correction Active
クロストーク補正の有効・無効を設定できます。詳細はCrosstalk Correctionを参照してください。
SRD View Space Scale
設定値でSR Display Space Scaleを変更することができます。 詳細は View Space Scalingを参照してください。
UnityEvents
UnityEventの一般的な使用方法は、Manual UnityEventを参照してください。
On SRD View Space Scale Changed Event
SRDisplay View Space Scaleの値が変更されたときに呼び出されるコールバックを設定することができます。
On Face Track State Event
このフレームで顔認識が成功したかどうかを示すフラグを取得するコールバックを設定することができます。