Class ExternalDeviceFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Represents the frame source of an external device. Typically refers to a head-mounted device, where both camera rendering and device tracking are handled by the device SDK.
You can implement custom cameras by inheriting subtypes of ExternalDeviceFrameSource, but you cannot directly inherit from ExternalDeviceFrameSource. Custom cameras usually represent a new device or a new data input method.
When using trial products (Personal License, Trial XR License, or Trial Mega Service, etc.) with a custom camera or headset, EasyAR Sense will stop responding after a fixed limited time upon each startup.
public abstract class ExternalDeviceFrameSource : ExternalFrameSource
- Inheritance
-
ExternalDeviceFrameSource
- Derived
- Inherited Members
Properties
AvailableCenterMode
Provided only when creating a new frame source. It is accessed exclusively during the Assemble() process.
All available center modes.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Property Value
Camera
Provided only when creating a new frame source. It is accessed exclusively during the Assemble() process.
On desktop devices or mobile phones, this camera represents the virtual Camera corresponding to the real-world camera device. Its projection matrix and position will correspond to the real camera and are controlled by EasyAR. On headsets, this camera is only used to display diagnostic text in front of the eyes, not for image rendering, and the camera is not controlled by EasyAR.
protected override Camera Camera { get; }
Property Value
IsCameraUnderControl
Provided only when creating a new frame source. It is accessed exclusively 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, this 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 only when the OriginType is Custom; it is not necessary to redefine it otherwise.
protected virtual GameObject Origin { get; }
Property Value
OriginType
Device origin type.
protected abstract ExternalDeviceFrameSource.DeviceOriginType OriginType { get; }