Table of Contents

Class FramePlayer

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

シーン内でeasyar.InputFramePlayereasyar.VideoInputFramePlayerを制御するMonoBehaviourで、Unity環境下で機能拡張を提供します。

これは、FrameSourceFramePlayerの場合、またはエディター上でDiagnosticsControllerインスペクターの'Session Validation Tool'で'Frame Player'が選択されている場合に使用されます。

public class FramePlayer : FrameSource
継承
FramePlayer
継承されたメンバー

フィールド

FilePath

ファイルパス。Play()の前に設定可能です。

public string FilePath

FilePathType

パスのタイプ。Play()の前に設定可能です。

public WritablePathType FilePathType

プロパティ

AvailableCenterMode

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

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

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

Camera

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

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

protected override Camera Camera { get; }

CameraCandidate

Cameraの代替。Unity XR Originが使用されていない場合にのみ有効です。設定されていない場合はCamera.mainが使用されます。

public Camera CameraCandidate { get; set; }

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; }

IsAvailable

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

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

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

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

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

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

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

protected override bool IsCameraUnderControl { get; }

IsCompleted

再生が完了しているかどうか。

public bool IsCompleted { get; }

IsHMD

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

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

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

protected override bool IsHMD { get; }

IsSeekable

現在の再生位置をシークできるかどうか。録画プロセスが異常終了した場合、インデックスデータが不足し、現在の再生時間を設定できない可能性があります。

public bool IsSeekable { get; }

IsSpeedChangeable

再生速度を変更できるかどうか。

public bool IsSpeedChangeable { get; }

IsStarted

再生が開始されているかどうか。

public bool IsStarted { get; }

Length

予想される総再生時間(秒単位)。

public Optional<double> Length { get; }

Speed

現在の再生速度。

public double Speed { get; set; }

Time

既に再生された時間。

public double Time { get; }

enabled

ARSession実行中にeifファイルを再生/一時停止します。セッション起動後、MonoBehaviour.enabledがtrueの場合にのみ再生が開始されます。

public bool enabled { get; set; }

メソッド

OnSessionStart(ARSession)

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

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

protected override void OnSessionStart(ARSession session)

パラメーター

session

OnSessionStop()

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

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

protected override void OnSessionStop()

Play()

eifファイルを再生します。Play()Stop()を手動で呼び出さない場合、ARSession起動後に自動的にPlay()が呼び出されます。

セッション起動後に使用可能です。

public bool Play()

Seek(double)

現在の再生位置を設定します(秒単位)。インデックスデータが不足している場合はfalseを返します。

public bool Seek(double time)

パラメーター

time

Stop()

eifファイルの再生を停止します。

public void Stop()