Table of Contents

Class FrameSource

名前空間
easyar
アセンブリ
EasyAR.Sense.dll

フレームソースは、フレーム入力データのデータソースを表し、画像データまたは画像データとモーションデータの両方を提供します。

FrameSourceのサブタイプを継承することでカスタムカメラを実装できますが、FrameSourceを直接継承することはできません。カスタムカメラは通常、新しいデバイスや新しいデータ入力方法を表現します。

カスタムカメラやヘッドマウントディスプレイ上でトライアル製品(Personalライセンス、トライアルXRライセンス、トライアルMegaサービスなど)を使用する場合、EasyAR Senseは起動後、一定の有限時間後に応答を停止します。

[DisallowMultipleComponent]
public abstract class FrameSource : MonoBehaviour
継承
FrameSource
Derived

プロパティ

AvailableCenterMode

新しいフレームソースの作成時にのみ提供されます。Assemble()プロセス中にのみアクセスされます。

使用可能なすべてのセンターリングモード。

protected virtual IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }

Camera

新しいフレームソースの作成時にのみ提供されます。Assemble()プロセス中にのみアクセスされます。

デスクトップデバイスやモバイルデバイスでは、このカメラは現実世界のカメラデバイスに対応する仮想世界内のCameraを表し、その投影行列と位置は実際のカメラに対応し、EasyARによって制御されます。ヘッドマウントディスプレイでは、このカメラは診断テキストを目の前に表示するためだけに使用され、レンダリングには使用されず、カメラはEasyARによって制御されません。

protected abstract Camera Camera { get; }

CameraFrameStarted

新しいフレームソースの作成時にのみ提供されます。ARSessionのライフサイクル全体を通じてアクセスされます。

カメラフレームの入力が開始されているかどうか。

protected abstract bool CameraFrameStarted { get; }

DeviceCameras

新しいフレームソースの作成時にのみ提供されます。CameraFrameStartedがtrueの時にのみアクセスされます。

カメラフレームデータを提供するデバイスカメラ。カメラフレームデータが複数のカメラによって提供される場合、リストにはすべてのカメラを含める必要があります。

CameraFrameStartedがtrueの時に値が正しいことを確認してください。

protected abstract List<FrameSourceCamera> DeviceCameras { get; }

Display

新しいフレームソースの作成時にのみ提供されます。Assemble()プロセス中にのみアクセスされます。

表示システム情報を提供します。デフォルトの表示情報を取得するには、DefaultSystemDisplayまたはDefaultHMDDisplayを使用できます。

protected abstract IDisplay Display { get; }

IsAvailable

新しいフレームソースの作成時にのみ提供されます。Assemble()プロセス中にのみアクセスされます。

現在のフレームソースが使用可能かどうか。

値がnullの場合、CheckAvailability()が呼び出され、値はCoroutine終了後に取得されます。

protected abstract Optional<bool> IsAvailable { get; }

IsCameraUnderControl

新しいフレームソースの作成時にのみ提供されます。Assemble()プロセス中にのみアクセスされます。

値がtureの場合、セッションはカメラのtransformを更新し、カメラ画像をレンダリングします。

ヘッドマウントディスプレイ拡張を作成する場合、これはfalseにする必要があります。シーン内の3Dカメラは完全に制御する必要があります。特にVSTモードでは、カメラのレンダリングを処理する必要があります。

protected abstract bool IsCameraUnderControl { get; }

IsHMD

新しいフレームソースの作成時にのみ提供されます。Assemble()プロセス中にのみアクセスされます。

現在のフレームソースがヘッドマウントディスプレイかどうか。ヘッドマウントディスプレイの場合、診断情報はカメラの前の3Dパネルに表示されます。

一部のフレームフィルターは、デバイス上で異なる動作をします。

protected abstract bool IsHMD { get; }

メソッド

CheckAvailability()

新しいフレームソースの作成時にのみ提供されます。Assemble()プロセス中にのみアクセスされます。

IsAvailableがnullの場合、フレームソースが使用可能かどうかを確認するために使用されるCoroutine

protected virtual IEnumerator CheckAvailability()

OnSessionStart(ARSession)

新しいフレームソースの作成時にのみ提供されます。StartSession()プロセス中にのみアクセスされます。

このフレームソースがAssemblyに組み込まれている場合、セッションの開始を処理します。このメソッドは遅延初期化用に設計されており、このメソッド内でAR固有の初期化作業を行うことができます。

protected abstract void OnSessionStart(ARSession session)

パラメーター

session

OnSessionStop()

新しいフレームソースの作成時にのみ提供されます。StopSession(bool)または他のセッション停止/破損プロセス中にアクセスされます。

このフレームソースがAssemblyに組み込まれている場合、セッションの停止を処理します。このメソッドを使用して、StartSession()およびセッション実行中に作成されたリソースを破棄し、内部状態を復元できます。セッション破棄前にこのメソッドが呼び出されることが保証されます。フレームソースがセッションより前に破棄される場合、このメソッドは呼び出されず、セッションは破損します。

protected abstract void OnSessionStop()