PortraitSRDisplayManager Prefabは、Spatial Reality Display Plugin for Unityの中心となるPrefabです。ELF-MN1向けのUnityアプリでは、基本的にこのPrefabを使用します。
前提条件
- 空間再現ディスプレイ(Spatial Reality Display)のセットアップが完了していること。完了していない場合はSpatial Reality Display Settingsのセットアップを参照してください。
-
Spatial Reality Display Plugin for UnityをインポートしたUnityプロジェクトがあること。準備していない場合はUnityのセットアップを参照してください。
Hierarchy
| GameObject name | Description |
|---|---|
| PortraitSRDisplayManager |
Spatial Reality Display Settingsを扱うPortraitSRDManagerコンポーネントを持っています。 |
| └─WatcherAnchor | コンポーネントはありません。これは、実行時のユーザーの頭の位置を表します。 |
| ├─WatcherCamera | 実行時に無効化されるカメラコンポーネントを持っています。これは、ユーザー、UICamera、またはレンダリング以外の何かからのレイキャスティングのためのものです。 |
| ├─LeftEyeAnchor | コンポーネントはありません。これは、実行時のユーザーの左目の位置を表します。 |
| │ └─LeftEyeCamera |
ユーザーの左目のシーンをレンダリングするカメラコンポーネントを持っています。 |
| └─RightEyeAnchor |
コンポーネントはありません。これは、実行時のユーザーの右目の位置を表します。 |
| └─RightEyeCamera | ユーザーの右目のシーンをレンダリングするカメラコンポーネントを持っています。 |
Anchors
3種類のアンカーがあります:WatcherAnchor、LeftEyeAnchor、RightEyeAnchor。
それぞれユーザーの頭、左目、右目の位置を示します。
これらのアンカーを利用して、ユーザーとのインタラクションを行うことができます。
LookAtサンプルでは、WatcherAnchorを見る対象として使用しています。
Caution
顔認識の結果は、常に正確とは限りません。アンカーの位置が、ユーザーの実際の頭や目の位置とずれる場合があります。
Cameras
3種類のカメラがあります:WatcherCamera、LeftEyeCamera、RightEyeCamera
ユーザーからのレイキャスティング(UIカメラなど)に使用することを想定しているため、WatcherCameraのカメラコンポーネントは実行時に無効化されます。
カメラの設定を変更したい場合(Clear Flags、Backgroundなど)は、ユーザーが快適に使用できるように、左右のカメラの設定を同じにしておく必要があります。
また、カメラコンポーネントにスクリプトを追加したい場合は、LeftEyeCameraとRightEyeCameraの両方にスクリプトを追加してください。
Tips
このPrefabにはMainCameraはありません。必要であれば、LeftEyeCameraのカメラコンポーネントにMainCameraタグを追加してください。WatcherCameraにはMainCameraタグを追加しないでください。WatcherCameraは処理負荷を減らすため実行時に自動で無効になり、Camera.mainで取得できなくなります。
PortraitSRDManager component
PortraitSRDManagerは、Spatial Reality Displayランタイムを扱うコアコンポーネントです。また、アプリケーション開発者が設定すべき空間再現ディスプレイの基本的なパラメータを持っています。
PortraitSRDManagerは、シーン内に1つだけ配置してください。

Properties
Is SR Rendering Active
SRレンダリングのオンオフを切り換えることができます。falseの場合、LeftEyeCameraのカメラからレンダリングされた画像のみが表示されます。
Is Spatial Clipping Active
空間クリッピングの有効・無効を設定できます。詳細はSpatial Clippingを参照してください。
Is High Image Quality Mode
画質向上の機能をON/OFFを設定することができます。
画質向上の機能をONにしている場合、アプリケーションの表示が崩れる場合があります。
Is Auto Connect Enabled
オブジェクトがActiveになった際に(OnAwake)自動的に空間再現ディスプレイとの接続を開始するかを設定できます。falseの場合はアプリケーションからConnectAsync関数を呼ぶことで接続できます。
SRD View Space Scale
設定値でSRD View Space Scaleを変更することができます。詳細はView Space Scalingを参照してください。
Idle Texture
(Android/iOSのみ)コンテンツをレンダリングしていないときに空間再現ディスプレイ側に表示されるテクスチャーを設定できます。何も設定していない場合は黒い画面が表示されます。
EFM Settings
Easy Fusion Maskを有効にして様々なパラメーターを設定できます。詳細はEFMについてを参照してください。
UnityEvents
UnityEventの一般的な使用方法は、Manual UnityEventを参照してください。
On SRD Manager Ready Event
空間再現ディスプレイとの接続に成功して、レンダリングが開始される直前に呼び出されるコールバックを設定することができます。
On SRD View Space Scale Changed Event
SRDisplay View Space Scaleの値が変更されたときに呼び出されるコールバックを設定することができます。
On Face Track State Event
このフレームで顔認識が成功したかどうかを示すフラグを取得するコールバックを設定することができます。
On SRD Speaker Volume Changed Event
空間再現ディスプレイ本体の音量ボタンが押された際に新しい音量値を取得するコールバックを設定することができます。