Table of Contents

Class RokidFrameSource

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

Connects Rokid's output to EasyAR's input as a custom frame source in the scene. Provides Rokid support through EasyAR Sense's custom camera capabilities.

This frame source is a motion-tracking device that outputs motion data within the ARSession.

To use this frame source, the ``Rokid Unity OpenXR Plugin (com.rokid.openxr)`` is required. You need to configure the Rokid Unity OpenXR Plugin according to the official documentation.

public class RokidFrameSource : ExternalDeviceMotionFrameSource
Inheritance
RokidFrameSource
Inherited Members

Properties

CameraCandidate

public Camera CameraCandidate { get; set; }

Property Value

CameraFrameStarted

Provided only when creating a new frame source. It is accessed throughout the lifetime 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 is accessed when CameraFrameStarted is true.

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

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 is accessed solely during the Assemble() process.

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

protected override IDisplay Display { get; }

Property Value

IsAvailable

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

Indicates whether the current frame source is available.

If the value equals null, CheckAvailability() will be called, and the value will be retrieved after the Coroutine completes.

protected override Optional<bool> IsAvailable { get; }

Property Value

IsHMD

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

Indicates whether the current frame source is a head-mounted display (HMD). If it is an HMD, diagnostic information will be displayed on a 3D board in front of the camera.

Some frame filters may operate differently on the device.

protected override bool IsHMD { get; }

Property Value

OriginType

Device origin type.

protected override ExternalDeviceFrameSource.DeviceOriginType OriginType { get; }

Property Value

Methods

Awake()

protected override void Awake()

LateUpdate()

protected virtual void LateUpdate()

OnApplicationPause(bool)

protected override void OnApplicationPause(bool pause)

Parameters

pause

OnDestroy()

protected override void OnDestroy()

OnSessionStart(ARSession)

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

Handles session startup if this frame source is assembled into the Assembly. This method is designed for lazy 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 is accessed during StopSession(bool) or other session stop/corruption processes.

Handles session stop if this frame source is assembled into the Assembly. Use this method to destroy resources created during StartSession() and session runtime, and restore internal state. It is guaranteed to be called before session destruction. If the frame source is destroyed before the session, it will not be called, and the session will become corrupted.

protected override void OnSessionStop()