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

Field Value

Properties

CameraFrameStarted

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

Indicates whether camera frame input has started.

protected override bool CameraFrameStarted { get; }

Property Value

DeviceCameras

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

Provides the device camera supplying the camera frame data. If the frame data comes from multiple cameras, the list must include all of them.

Ensure 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 will only be accessed during the Assemble() process.

Provides the system display information. You can use DefaultSystemDisplay or DefaultHMDDisplay to obtain the default display information.

protected override IDisplay Display { get; }

Property Value

IsAvailable

Provided only when creating a new frame source. It will only be accessed during the Assemble() process.

Indicates whether the current frame source is available.

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

protected override Optional<bool> IsAvailable { get; }

Property Value

IsHMD

Provided only when creating a new frame source. It will only be accessed during the Assemble() process.

Indicates whether the current frame source is an HMD. If it is an HMD, diagnostic information will be displayed on a 3D panel in front of the camera.

Some frame filters may behave differently when running on the device.

protected override bool IsHMD { get; }

Property Value

OriginType

The device origin type.

protected override ExternalDeviceFrameSource.DeviceOriginType OriginType { get; }

Property Value

Methods

CheckAvailability()

Provided only when creating a new frame source. It will only be accessed during the Assemble() process.

The Coroutine used to check frame source availability when IsAvailable equals null.

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 will only be accessed during the StartSession() process.

Handles session startup if this frame source has been assembled into an Assembly. This method is designed for deferred initialization; you can perform AR-specific initialization work here.

protected override void OnSessionStart(ARSession session)

Parameters

session

OnSessionStop()

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

Handles session stopping if this frame source has been assembled into an Assembly. You can use this method to destroy resources created during StartSession() and the session runtime, 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, this method won't be called and the session will become corrupted.

protected override void OnSessionStop()