Table of Contents

Class PicoFrameSource

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

Connect Pico's output to the custom frame source of EasyAR input in the scene. Provide Pico support through the custom camera function of EasyAR Sense.

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

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

public class PicoFrameSource : ExternalDeviceMotionFrameSource
Inheritance
PicoFrameSource
Inherited Members

Fields

ControlSeeThrough

Whether to control the perspective. If you need to turn it off throughout the lifecycle, make sure to set it before ARSession.Start.

public bool ControlSeeThrough

Field Value

Properties

CameraFrameStarted

Provided only when creating a new frame source. It is accessed throughout the lifecycle of ARSession.

Whether camera frames start to be input.

protected override bool CameraFrameStarted { get; }

Property Value

DeviceCameras

Provided only when creating a new frame source. It is accessed when CameraFrameStarted is true.

Provide the device camera that provides camera frame data. If the camera frame data is provided by multiple cameras, all cameras need to be included in the list.

Make sure the value is correct when CameraFrameStarted is true.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Property Value

Display

Provided only when creating a new frame source. It is only accessed during Assemble().

Provide display system information. You can use DefaultSystemDisplay or DefaultHMDDisplay to get default display information.

protected override IDisplay Display { get; }

Property Value

IsAvailable

Provided only when creating a new frame source. It is only accessed during Assemble().

Whether the current frame source is available.

If the value is null, CheckAvailability() will be called, and the value will be obtained after Coroutine ends.

protected override Optional<bool> IsAvailable { get; }

Property Value

IsHMD

Provided only when creating a new frame source. It is only accessed during Assemble().

Whether the current frame source is a headset. If it is a headset, diagnostic information will be displayed on the 3D board in front of the camera.

Some frame filters behave differently on devices.

protected override bool IsHMD { get; }

Property Value

OriginType

Device origin type.

protected override ExternalDeviceFrameSource.DeviceOriginType OriginType { get; }

Property Value

Methods

CheckAvailability()

Provided only when creating a new frame source. It is only accessed during Assemble().

IsAvailable is used to check whether the frame source is available when it is null Coroutine.

protected override IEnumerator CheckAvailability()

Returns

OnApplicationPause(bool)

protected override void OnApplicationPause(bool pause)

Parameters

pause

OnSessionStart(ARSession)

Provided only when creating a new frame source. It is only accessed during StartSession().

protected override void OnSessionStart(ARSession session)

Parameters

session

OnSessionStop()

Provided only when creating a new frame source. It is accessed during StopSession(bool) or other session stop/corruption processes.

Handle session stop if this frame source has been assembled into Assembly. You can use this method to destroy resources created during StartSession() and session operation and restore internal state. This method is guaranteed to be called before the session is destroyed. If the frame source is destroyed before the session, it will not be called and the session will be corrupted.

protected override void OnSessionStop()