Class ExternalDeviceMotionFrameSource
- 名前空間
- easyar
- アセンブリ
- EasyAR.Sense.dll
motion tracking 機能を持つ外部デバイスを表す frame source。通常は head-mounted device を表し、camera rendering と device tracking はどちらもデバイス SDK によって完了します。
この frame source は motion tracking デバイスであり、ARSession 内でモーションデータを出力します。
これを継承して headset などのデバイス入力を実装できますが、motion tracking 機能は自分で実装する必要があります。EasyAR の motion tracking は外部デバイス上で直接使用できません。ハードウェアまたは他の場所から画像と pose データを自分で取得し、EasyAR に入力する必要があります。EasyAR はこれらのデータを取得する機能を提供しませんが、データを EasyAR に入力した後に EasyAR 機能を実行する機能を提供します。
personal license、trial XR license、trial Mega service などの trial 製品を custom camera または headset で使用する場合、EasyAR Sense は起動するたびに一定の有限時間応答を停止します。
public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
- 継承
-
ExternalDeviceMotionFrameSource
- Derived
- 継承されたメンバー
メソッド
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Pose, MotionTrackingStatus)
camera フレームデータを入力します。
30 または 60 fps のデータ入力を推奨します。許容される最小 frame rate は 2 ですが、一部アルゴリズムの応答時間に影響します。API が thread-safe であれば、任意の thread から呼び出せます。これらのデータは camera sensor の露光時のデータと一致している必要があります。取得可能であれば、カラー data を EasyAR Sense に入力することを推奨します。これは EasyAR Mega の効果に役立ちます。最高の効率を実現するには、raw YUV data が shared memory を通じて直接透過し、data pointer を使用して EasyAR Sense に直接渡されるように、データチェーン全体を設計できます。データ所有権に注意してください。
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Pose deviceToOriginTransform, MotionTrackingStatus trackingStatus)
パラメーター
deviceCameratimestampimagecameraParametersdeviceToOriginTransformtrackingStatus
HandleRenderFrameData(double, Pose, MotionTrackingStatus)
rendering frame データを入力します。
デバイスデータの準備ができた後、毎フレーム呼び出してください。フレームをスキップすることはできません。これらのデータは、デバイスが駆動する同一フレーム内の現在の Unity レンダリング camera のデータと一致している必要があります。
protected bool HandleRenderFrameData(double timestamp, Pose pose, MotionTrackingStatus trackingStatus)
パラメーター
timestampposetrackingStatus