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()プロセス中のみアクセスされます。
値がtrueの場合、セッションはカメラの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()