Class XREALFrameSource
- 名前空間
- easyar
- アセンブリ
- EasyAR.Sense.dll
シーン内でXREALカメラデバイス(easyar.XREALCameraDevice)を制御するMonoBehaviourで、Unity環境下で機能拡張を提供します。
このフレームソースはモーショントラッキングデバイスであり、ARSessionでモーションデータを出力します。
カスタムカメラやヘッドマウントディスプレイでトライアル製品(個人版ライセンス、トライアル版XRライセンス、トライアル版Megaサービスなど)を使用する場合、EasyAR Senseは起動後に一定の制限時間で応答を停止します。
public class XREALFrameSource : FrameSource
- 継承
-
XREALFrameSource
プロパティ
AvailableCenterMode
新しいフレームソースが作成された場合にのみ提供されます。Assemble()プロセス中のみアクセスされます。
使用可能なすべてのセンターモード。
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
新しいフレームソースが作成された場合にのみ提供されます。Assemble()プロセス中のみアクセスされます。
デスクトップデバイスやスマートフォンでは、このカメラは現実世界のカメラデバイスに対応する仮想世界内のCameraを表し、その投影行列と位置は実際のカメラに対応し、EasyARによって制御されます。ヘッドマウントディスプレイでは、このカメラは目の前に診断テキストを表示するためだけに使用され、画面レンダリングには使用されず、カメラもEasyARによって制御されません。
protected override Camera Camera { get; }
CameraFrameStarted
新しいフレームソースが作成された場合にのみ提供されます。ARSessionのライフサイクル全体でアクセスされます。
カメラフレームの入力が開始されたかどうか。
protected override bool CameraFrameStarted { get; }
DeviceCameras
新しいフレームソースが作成された場合にのみ提供されます。CameraFrameStartedがtrueの場合にアクセスされます。
カメラフレームデータを提供するデバイスカメラ。カメラフレームデータが複数のカメラから提供される場合、リストにはすべてのカメラを含める必要があります。
CameraFrameStartedがtrueのときに値が正しいことを確認してください。
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
新しいフレームソースが作成された場合にのみ提供されます。Assemble()プロセス中のみアクセスされます。
表示システム情報を提供します。デフォルトの表示情報を取得するにはDefaultSystemDisplayまたはDefaultHMDDisplayを使用できます。
protected override IDisplay Display { get; }
FrameRate
フレームレートの範囲。Openedがtrueの場合のみ利用可能。
public double FrameRate { get; }
IsAvailable
新しいフレームソースが作成された場合にのみ提供されます。Assemble()プロセス中のみアクセスされます。
現在のフレームソースが利用可能かどうか。
値がnullの場合、CheckAvailability()が呼び出され、値はCoroutine終了後に取得されます。
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
新しいフレームソースが作成された場合にのみ提供されます。Assemble()プロセス中のみアクセスされます。
値がtrueの場合、セッションはカメラのtransformを更新し、カメラ画像をレンダリングします。
ヘッドマウントディスプレイ拡張を作成する場合、これはfalseである必要があります。シーン内の3Dカメラを完全に制御する必要があります。特にVSTモードでは、カメラのレンダリングを処理する必要があります。
protected override bool IsCameraUnderControl { get; }
IsHMD
新しいフレームソースが作成された場合にのみ提供されます。Assemble()プロセス中のみアクセスされます。
現在のフレームソースがヘッドマウントディスプレイかどうか。ヘッドマウントディスプレイの場合、診断情報はカメラの前の3Dパネルに表示されます。
一部のフレームフィルタはデバイス上で異なる動作をします。
protected override bool IsHMD { get; }
Opened
カメラが開いているかどうか。
public bool Opened { get; }
ReceivedFrameCount
取得したフレームのカウント。通常デバッグで使用。この値が増加しなくなった場合、通常はハードウェアの問題であり、抜き差しで解決する可能性があります。
public int ReceivedFrameCount { get; }
Size
現在の画像サイズ。Openedがtrueの場合のみ利用可能。
public Vector2Int Size { get; }
メソッド
CheckAvailability()
新しいフレームソースが作成された場合にのみ提供されます。Assemble()プロセス中のみアクセスされます。
IsAvailableがnullの場合、フレームソースが利用可能かどうかをチェックするためのCoroutine。
protected override IEnumerator CheckAvailability()
Close()
デバイスを閉じます。
public void Close()
OnSessionStart(ARSession)
新しいフレームソースが作成された場合にのみ提供されます。StartSession()プロセス中のみアクセスされます。
セッションの起動を処理します。このフレームソースがAssemblyに組み込まれている場合。このメソッドは遅延初期化のために設計されており、このメソッド内でAR固有の初期化作業を行うことができます。
protected override void OnSessionStart(ARSession session)
パラメーター
session
OnSessionStop()
新しいフレームソースが作成された場合にのみ提供されます。StopSession(bool)またはその他のセッション停止/破損プロセス中にアクセスされます。
セッションの停止を処理します。このフレームソースがAssemblyに組み込まれている場合。このメソッドを使用して、StartSession()およびセッション実行中に作成されたリソースを破棄し、内部状態を復元できます。セッションが破棄される前にこのメソッドが呼び出されることが保証されます。フレームソースがセッションより前に破棄された場合、これは呼び出されず、セッションは破損します。
protected override void OnSessionStop()
Open()
public void Open()
イベント
DeviceClosed
デバイスが閉じたイベント。
public event Action DeviceClosed
DeviceOpened
デバイスが開いたイベント。bool値は成功したかどうかを示します。
public event Action<bool, PermissionStatus, string> DeviceOpened