Table of Contents

Class PicoFrameSource

Namespace
easyar
Assembly
EasyAR.Sense.Ext.Pico.dll

Connects Pico's output to EasyAR's input as a custom frame source within the scenario. Provides Pico support via EasyAR Sense's custom camera functionality.

This frame source is a motion-tracking device that outputs motion data in an ARSession.

The ``PICO Unity Integration SDK`` is required to use this frame source. You need to configure the PICO Unity Integration SDK according to the official documentation.

public class PicoFrameSource : ExternalDeviceMotionFrameSource
Inheritance
PicoFrameSource
Inherited Members

Fields

ControlSeeThrough

Controls whether passthrough is enabled. To disable it throughout the lifecycle, ensure it is set before ARSession.Start.

public bool ControlSeeThrough

Properties

CameraFrameStarted

Providedonlywhencreatinganewframesource.Itisaccessedthroughouttheentirelifecycleof.

Whetherthecameraframehasstartedinput.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Providedonlywhencreatinganewframesource.Itisaccessedwhenistrue.

Thedevicecamerathatprovidesthecameraframedata.Ifthecameraframedataisprovidedbymultiplecameras,thelistshouldincludeallofthem.

Ensurethatthevalueiscorrectwhenistrue.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof.

Providesdisplaysysteminformation.Youcanuseortoobtaindefaultdisplayinformation.

protected override IDisplay Display { get; }

IsAvailable

Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof.

Whetherthecurrentframesourceisavailable.

Ifthevalueisnull,willbecalled,andthevaluewillbeobtainedaftertheends.

protected override Optional<bool> IsAvailable { get; }

IsHMD

Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof.

Whetherthecurrentframesourceisaheadset.Ifitisaheadset,diagnosticinformationwillbedisplayedona3Dboardinfrontofthecamera.

Someframefiltersmayoperatedifferentlyonthedevice.

protected override bool IsHMD { get; }

OriginType

Device origin type.

protected override ExternalDeviceFrameSource.DeviceOriginType OriginType { get; }

Methods

CheckAvailability()

Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof.

Ausedtocheckiftheframesourceisavailablewhenisequaltonull.

protected override IEnumerator CheckAvailability()

OnApplicationPause(bool)

protected override void OnApplicationPause(bool pause)

Parameters

pause

OnSessionStart(ARSession)

Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheStartSessionprocessof.

Handlessessionstartupifthisframesourcehasbeenassembledinto.Thismethodisdesignedforlazyinitialization;youcanperformAR-specificinitializationworkinthismethod.

protected override void OnSessionStart(ARSession session)

Parameters

session

OnSessionStop()

Providedonlywhencreatinganewframesource.Itisaccessedduringorothersessionsessionstop/corruptionprocesses.

Handlessessionstopifthisframesourcehasbeenassembledinto.Youcanusethismethodtodestroyresourcescreatedduringandsessionoperationandrestoreinternalstate.Thismethodisguaranteedtobecalledbeforesessiondestruction.Iftheframesourceisdestroyedbeforethesession,itwillnotbecalled,andthesessionwillbecorrupted.

protected override void OnSessionStop()