Class AREngineFrameSource
- 名前空間
- easyar
- アセンブリ
- EasyAR.Sense.dll
シーンでAREngineカメラデバイスの出力をEasyAR入力のカスタムフレームソースに接続します。EasyAR Senseのカスタムカメラ機能を通じてHuawei AR Engineサポートを提供します。
このフレームソースはモーショントラッキングデバイスであり、ARSessionでモーションデータを出力します。
このフレームソースは ``Huawei AR Engine Unity SDK`` を使用せず、追加不要です。
public class AREngineFrameSource : FrameSource
- 継承
-
AREngineFrameSource
- 継承されたメンバー
フィールド
DesiredFocusMode
希望のフォーカスモード、DeviceOpenedイベントまたはOnEnable前に変更する必要があります。
注意:ハードウェアやシステム制限により、一部デバイスでフォーカス切り替えが無効になる場合があります。
public AREngineCameraDeviceFocusMode DesiredFocusMode
プロパティ
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; }
FrameRateRange
フレームレート範囲。Openedがtrueの場合のみ利用可能。
public Vector2 FrameRateRange { get; }
IsAvailable
新しいフレームソース作成時にのみ提供。Assemble()プロセス中にのみアクセスされます。
現在のフレームソースが利用可能かどうか。
値がnullの場合、CheckAvailability()が呼び出され、値はCoroutine終了後に取得されます。
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
新しいフレームソース作成時にのみ提供。Assemble()プロセス中にのみアクセスされます。
値がtrueの場合、sessionはカメラのtransformを更新し、カメラ画像をレンダリングします。
ヘッドセット拡張作成時はfalseにする必要があります。シーン内の3Dカメラを完全に制御する必要があります。特にVSTモードでは、カメラレンダリングを処理する必要があります。
protected override bool IsCameraUnderControl { get; }
IsHMD
新しいフレームソース作成時にのみ提供。Assemble()プロセス中にのみアクセスされます。
現在のフレームソースがヘッドセットかどうか。ヘッドセットの場合、診断情報はカメラ前の3Dパネルに表示されます。
一部フレームフィルターはデバイス上で異なる動作をします。
protected override bool IsHMD { get; }
Opened
カメラがオープンしているかどうか。
public bool Opened { get; }
Size
現在の画像サイズ。Openedがtrueの場合のみ利用可能。
public Optional<Vector2Int> Size { get; }
enabled
ARSession実行時にビデオストリームデータ収集を開始/停止します。session起動後、MonoBehaviour.enabledがtrueの場合のみ収集を開始します。
public bool enabled { get; set; }
メソッド
Close()
デバイスをクローズします。
public void Close()
OnSessionStart(ARSession)
新しいフレームソース作成時にのみ提供。StartSession()プロセス中にのみアクセスされます。
このフレームソースがAssemblyに組み込まれている場合のsession起動処理。このメソッドは遅延初期化用に設計されており、AR固有の初期化作業をここで行えます。
protected override void OnSessionStart(ARSession session)
パラメーター
session
OnSessionStop()
新しいフレームソース作成時にのみ提供。StopSession(bool)または他のsession停止/破損プロセス中にアクセスされます。
このフレームソースがAssemblyに組み込まれている場合のsession停止処理。このメソッドを使用してStartSession()およびsession実行中に作成されたリソースを破棄し、内部状態を復元できます。session破棄前にこのメソッドは必ず呼び出されます。フレームソースがsessionより前に破棄された場合、呼び出されずsessionが破損します。
protected override void OnSessionStop()
Open()
public void Open()
イベント
DeviceClosed
デバイスクローズイベント。
public event Action DeviceClosed
DeviceOpened
デバイスオープンイベント、bool値は成功したかどうかを示します。
public event Action<bool, PermissionStatus, string> DeviceOpened