Table of Contents

Class ExternalDeviceFrameSource

Namespace
easyar
Assembly
EasyAR.Sense.dll

Represents the frame source of an external device. Usually represents a head-mounted device, where camera rendering and device tracking are both done by the device SDK.

You can implement a custom camera by inheriting a subtype of ExternalDeviceFrameSource, but you cannot directly inherit ExternalDeviceFrameSource. A custom camera usually represents a new device or a new data input method.

When using trial products (personal license, trial XR license, or trial Mega service, etc.) on a custom camera or headset, EasyAR Sense will stop responding within a fixed limited time after each startup.

public abstract class ExternalDeviceFrameSource : ExternalFrameSource
Inheritance
ExternalDeviceFrameSource
Derived
Inherited Members

Properties

AvailableCenterMode

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

All available center modes.

protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }

Property Value

Camera

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

On desktop devices or mobile phones, this camera represents the Camera in the virtual world corresponding to the camera device in the real environment, and its projection matrix and position will correspond to the real camera and be controlled by EasyAR. On the headset, this camera is only used to display some diagnostic text in front of the eyes, not for screen rendering, and the camera is not controlled by EasyAR.

protected override Camera Camera { get; }

Property Value

IsCameraUnderControl

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

When the value is true, the session will update the camera's transform and render the camera image.

When creating a headset extension, it should be false. You should have full control over the 3D camera in the scene. You should handle camera rendering, especially in VST mode.

protected override bool IsCameraUnderControl { get; }

Property Value

Origin

Device origin. You need to define your own origin when OriginType is Custom, and no need to redefine at other times.

protected virtual GameObject Origin { get; }

Property Value

OriginType

Device origin type.

protected abstract ExternalDeviceFrameSource.DeviceOriginType OriginType { get; }

Property Value