Table of Contents

Class PicoFrameSource

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

在場景中將Pico的輸出連接到EasyAR輸入的自定義frame source。通過EasyAR Sense的自定義相機功能提供Pico支持。

這個frame source是一種運動跟蹤設備,在ARSession中會輸出運動數據。

爲了使用這個frame source, ``PICO Unity Integration SDK`` 是必需的。你需要根據官方文檔配置PICO Unity Integration SDK。

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

欄位

ControlSeeThrough

是否控制透視。如需在整個生命週期內關閉,確保在ARSession.Start之前設置。

public bool ControlSeeThrough

屬性

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

UseGlobalPose

在從 Pico API 獲取姿態時是否使用全局姿態。僅在啓用 Pico 的全局姿態功能時使用。

public bool UseGlobalPose { get; set; }

方法

OnApplicationPause(bool)

protected override void OnApplicationPause(bool pause)

參數

pause

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()