Class ExternalDeviceFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
A frame source representing an external device. It usually represents a head-mounted device, where camera rendering and device tracking are both completed by the device SDK.
You can implement a custom camera by inheriting from subtypes of ExternalDeviceFrameSource, but you cannot inherit directly from ExternalDeviceFrameSource. A custom camera usually represents a new device or a new data input method.
When using trial products, such as a Personal Edition license, trial XR license, or trial Mega service, on a custom camera or headset, EasyAR Sense will stop responding for a fixed limited time after 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 only during Assemble().
All center modes that can be used.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Provided only when creating a new frame source. It is accessed only during Assemble().
On desktop devices or phones, this camera represents the Camera in the virtual world corresponding to the camera device in the real environment; its projection matrix and position both correspond to the real camera and are controlled by EasyAR. On headsets, this camera is used only to show diagnostic text in front of the eyes, not for image rendering, and the camera is not controlled by EasyAR.
protected override Camera Camera { get; }
IsCameraUnderControl
Provided only when creating a new frame source. It is accessed only during Assemble().
When the value is true, the session updates the camera transform and renders the camera image.
When creating a headset extension, it should be false. You should fully control the 3D camera in the scene. You should handle camera rendering, especially in VST mode.
protected override bool IsCameraUnderControl { get; }
Origin
Device origin. You need to define your own origin when OriginType is Custom; otherwise, you do not need to redefine it.
protected virtual GameObject Origin { get; }
OriginType
Device origin type.
protected abstract ExternalDeviceFrameSource.DeviceOriginType OriginType { get; }