Class FramePlayer
- 名前空間
- easyar
- アセンブリ
- EasyAR.Sense.dll
シーン内でeasyar.InputFramePlayerとeasyar.VideoInputFramePlayerを制御するMonoBehaviourで、Unity環境下で機能拡張を提供します。
これはFrameSourceがFramePlayerの場合、またはエディタ上でDiagnosticsControllerインスペクタの'Session Validation Tool'で'Frame Player'が選択されたDiagnosticsController場合に使用されます。
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によって制御されます。HMDでは、このカメラは診断テキストを目の前に表示するためだけに使用され、レンダリングには使用されず、カメラも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を更新し、カメラ画像をレンダリングします。
HMD拡張を作成する際は、falseに設定する必要があります。シーン内の3Dカメラは完全に制御する必要があります。特にVSTモードでは、カメラのレンダリングを処理する必要があります。
protected override bool IsCameraUnderControl { get; }
IsCompleted
再生が完了しているかどうか。
public bool IsCompleted { get; }
IsHMD
新しいフレームソースが作成される場合にのみ提供されます。Assemble()プロセス中にのみアクセスされます。
現在のフレームソースがヘッドマウントディスプレイ(HMD)かどうか。HMDの場合、診断情報はカメラの前の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; }
メソッド
OnSessionStart(ARSession)
新しいフレームソースが作成される場合にのみ提供されます。StartSession()プロセス中にのみアクセスされます。
このフレームソースがAssemblyに組み込まれている場合、セッションの起動を処理します。このメソッドは遅延初期化を目的として設計されており、ここでAR固有の初期化作業を行うことができます。
protected override void OnSessionStart(ARSession session)
パラメーター
session
OnSessionStop()
新しいフレームソースが作成される場合にのみ提供されます。StopSession(bool)またはその他のセッション停止/破損プロセス中にアクセスされます。
このフレームソースがAssemblyに組み込まれている場合、セッションの停止を処理します。このメソッドを使用して、StartSession()およびセッション実行中に作成されたリソースを破棄し、内部状態を復元できます。セッション破棄前にこのメソッドが呼び出されることが保証されます。フレームソースがセッションより前に破棄された場合、このメソッドは呼び出されず、セッションは破損します。
protected override void OnSessionStop()
Play()
public bool Play()
Seek(double)
現在の再生位置を設定します(秒単位)。インデックスデータが欠落している場合はfalseを返します。
public bool Seek(double time)
パラメーター
time
Stop()
eifファイルの再生を停止します。
public void Stop()