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; }