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