Table of Contents

Class RokidFrameSource

命名空間
easyar
組件
EasyAR.Sense.Ext.Rokid.dll

在場景中將Rokid的輸出連接到EasyAR輸入的自訂frame source。透過EasyAR Sense的自訂相機功能提供Rokid支援。

這個frame source是一種運動追蹤裝置,在ARSession中會輸出運動數據。

為了使用這個frame source, ``Rokid Unity OpenXR Plugin (com.rokid.openxr)`` 是必需的。你需要根據官方文件配置Rokid Unity OpenXR Plugin。

public class RokidFrameSource : ExternalDeviceMotionFrameSource
繼承
RokidFrameSource
繼承成員

屬性

CameraCandidate

public Camera CameraCandidate { get; set; }

CameraFrameStarted

僅當建立一個新的frame source時提供。它會在ARSession的整個生命週期內被訪問。

相機幀是否開始輸入。

protected override bool CameraFrameStarted { get; }

DeviceCameras

僅當建立一個新的frame source時提供。它會在CameraFrameStarted為true時被訪問。

提供相機幀數據的裝置相機。如果相機幀數據由多個相機提供,清單中需要包含所有相機。

確保在CameraFrameStarted為true時數值正確。

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

僅當建立一個新的frame source時提供。它僅會在Assemble()過程中被訪問。

提供顯示系統資訊。你可以使用DefaultSystemDisplayDefaultHMDDisplay來取得預設的顯示資訊。

protected override IDisplay Display { get; }

IsAvailable

僅當建立一個新的frame source時提供。它僅會在Assemble()過程中被訪問。

當前frame source是否可用。

如果數值等於null,CheckAvailability()會被呼叫,數值將在Coroutine結束後取得。

protected override Optional<bool> IsAvailable { get; }

IsHMD

僅當建立一個新的frame source時提供。它僅會在Assemble()過程中被訪問。

當前frame source是否是頭顯。如果是頭顯,診斷資訊將顯示在相機前的3D板子上。

部分frame filter在裝置上執行會有不同。

protected override bool IsHMD { get; }

OriginType

裝置原點類型。

protected override ExternalDeviceFrameSource.DeviceOriginType OriginType { get; }

方法

Awake()

protected override void Awake()

LateUpdate()

protected virtual void LateUpdate()

OnApplicationPause(bool)

protected override void OnApplicationPause(bool pause)

參數

pause

OnDestroy()

protected override void OnDestroy()

OnSessionStart(ARSession)

僅當建立一個新的frame source時提供。它僅會在StartSession()過程中被訪問。

處理session啟動,如果這個frame source已經組裝進Assembly。這個方法設計上是用來做延遲初始化的,你可以在這個方法中做AR獨有的初始化工作。

protected override void OnSessionStart(ARSession session)

參數

session

OnSessionStop()

僅當建立一個新的frame source時提供。它會在StopSession(bool)或其它session停止/損壞過程中被訪問。

處理session停止,如果這個frame source已經組裝進Assembly。你可以使用這個方法銷毀StartSession()以及session執行中建立的資源並恢復內部狀態。在session銷毀之前這個方法會被保證呼叫。如果frame source在sessino之前銷毀,它將不會被呼叫,且session將損壞。

protected override void OnSessionStop()