Namespace easyar
Classes
- APIExtend
Extend EasyAR Sense API and Unity API to facilitate operations such as data conversion.
- APIKeyAccessData
Authentication data for EasyAR cloud services using API Key. For related data, please visit the EasyAR Development Center (https://www.easyar.cn) to obtain it.
- ARAssembly
The assembly of AR components. It implements a typical assembly for all EasyAR Sense components.
- ARCoreARFoundationFrameSource
In the scene, connect the AR Foundation's ARCore output to the custom frame source input of EasyAR. Provide AR Foundation support through the custom camera feature of EasyAR Sense.
This frame source is a motion tracking device that outputs motion data in ARSession.
To use this frame source, ``AR Foundation`` is required. You need to configure AR Foundation according to the official documentation.
- ARCoreFrameSource
The MonoBehaviour controlling the ARCore camera device (easyar.ARCoreCameraDevice) in the scene, providing functional extensions in the Unity environment.
This frame source is a motion tracking device that outputs motion data in the ARSession.
- AREngineFrameSource
ConnectstheoutputoftheAREnginecameradevicetothecustomframesourceinputofEasyARinthescene.ProvidesHuaweiAREnginesupportthroughthecustomcameracapabilityofEasyARSense.
Thisframesourceisamotion-trackingdeviceandoutputsmotiondatain
. Thisframesourcedoesnotusethe``HuaweiAREngineUnitySDK``anddoesnotrequireitsaddition.
- ARFoundationFrameSource
ConnectstheoutputofARFoundationinthescenetoEasyAR'scustomframesourceinput.ProvidesARFoundationsupportviaEasyARSense'scustomcameracapability.
Thisframesourceisamotion-trackingdeviceandoutputsmotiondatain
. To usethisframesource,``ARFoundation``isrequired.YouneedtoconfigureARFoundationaccordingtotheofficialdocumentation.
- ARKitARFoundationFrameSource
In the scene, connect the ARKit output of AR Foundation to the custom frame source input of EasyAR.
Provide AR Foundation support through the custom camera feature of EasyAR Sense.
This frame source is a motion tracking device that will output motion data in ARSession.
To use this frame source, ``AR Foundation`` is required. You need to configure AR Foundation according to the official documentation.
- ARKitFrameSource
AMonoBehaviour controlling the ARKit camera device (easyar.ARKitCameraDevice) in the scene, providing functional extensions within the Unity environment.
This frame source is a motion-tracking device that outputs motion data within theARSession.
- ARSession
AMonoBehaviour that controls the AR session in the scene. A session contains a set of components assembled into anARAssembly and controls the data flow throughout its lifecycle. This component is the entry point for AR. Only one active instance is allowed at a time.
All features of EasyAR components requireStartSession() to be called before use.
The relative transform between theCamera and some AR components is controlled by the session. One object, known as theCenterObject, remains stationary in the scene, while other objects move relative to it. This object is selected based on the value ofCenterMode. For more details, refer to the description ofARSession.ARCenterMode.
- ARSession.FlipOptions
Mirror rendering options.
- ARSessionFactory
ARSession factory.
- ARSessionFactory.Resources
Create resources required for corresponding components.
- ActiveController
Manages the activeSelf of MonoBehaviour.
The default strategy is as follows: TargetController uses by default ActiveWhileTracked, XROriginChildController uses by default ActiveAfterFirstTracked.
You can use OverrideStrategy to override the default strategy. Set MonoBehaviour.enabled to false to disable the control.
- AppSecretAccessData
Authentication data for EasyAR Cloud services using App-Secret. Visit EasyAR Developer Center (https://www.easyar.cn) to obtain relevant data.
- AssembleOptions
Assembly options for ARSession.
- AssembleOptions.DeviceListDownload
Device list download options.
- Buffer
Buffer stores a raw byte array, which can be used to access image data. In the Java API, you can obtain the buffer from `Image`_ and then copy data to a Java byte array. In all versions of EasyAR Sense, you can access image data. Refer to `Image`_.
- BufferDictionary
A mapping from file paths to `Buffer`_. Used to represent multiple files stored in memory.
- BufferPool
BufferPool implements a memory pool that can be used for functions such as custom camera access, which require repeatedly allocating memory of the same size, reducing the time spent on memory allocation.
- CameraDeviceDisplay
Regular camera display. You can simulate screen-rotation in the Unity editor or on PC to accommodate special screen placement requirements.
- CameraDeviceFrameSource
Controls the easyar.CameraDevice in the scene, extending functionality in the Unity environment.
This frame source is not a motion-tracking device and will not output motion data in ARSession.
- CameraImageRenderer
Controls camera-image-rendering in the sceneMonoBehaviour. Only effective when the session's frame-sourceIsCameraUnderControl is true.
- CameraParameters
Camera parameters, including image size, focal length, principal point, camera type, and the rotation angle of the camera relative to the device's natural orientation.
- CloudLocalizerFrameFilter
Controls theeasyar.CloudLocalizer'sMonoBehaviour in the scene, provides functional extensions in the Unity environment.
- CloudRecognizationResponse
Response to the recognition request.
- CloudRecognizerFrameFilter
Controls the easyar.CloudRecognizer in the scene, and provides functional extensions in the Unity environment.
- DenseSpatialMapBlockController
Control easyar.DenseSpatialMap the generated map grid blocks' MonoBehaviour in the scene.
- DenseSpatialMapBuilderFrameFilter
A MonoBehaviour that controls easyar.DenseSpatialMap in the scene, providing functional extensions in the Unity environment.
- DeviceFrameSourceCamera
The device camera that provides camera frame data in the frame source.
- DeviceFrameSourceCamera.CameraExtrinsics
Camera extrinsic parameters, usually a calibrated matrix, expressing the physical offset of the camera relative to the device/head's pose origin.
- DiagnosticsController
The diagnostic controller for ARSession. Make it your development partner rather than the first component to close.
- DiagnosticsController.MessageOutputOptions
Message Output Options
- Display
Display device.
- DisplayEmulator
Rotation simulator.
- EasyARCameraImageRendererFeature
A render feature used for rendering AR device camera images when using URP. It needs to be added to the renderer feature list in the forward renderer asset.
- EasyARController
The static proxy of the EasyAR Sense Engine class, mainly used for Sense initialization.
- EasyARSettings
Configuration details for the EasyAR Sense Unity Plugin.
- EasyARSettings.LibVariantConfig
EasyAR Sense library variant configuration.
- EasyARSettings.Permission
Permission Configuration.
- EasyARSettings.TargetGizmoConfig
Target's Gizmos configuration.
- EasyARSettings.TargetGizmoConfig.ImageTargetConfig
ImageTarget'sGizmos configuration.
- EasyARSettings.TargetGizmoConfig.ObjectTargetConfig
ObjectTarget's Gizmos configuration.
- EasyARSettings.UnityXROptions
Configuration items related to the Unity XR Framework.
- EasyARSettings.UnityXROptions.AutoSwitchOptions
Options for automatic switching of Unity XR (such as AR Foundation) objects.
- EasyARSettings.UnityXROptions.AutoSwitchOptions.EditorOptions
Edit mode options.
- EasyARSettings.UnityXROptions.AutoSwitchOptions.PlayerOptions
Run mode options.
- EasyARSettings.Workaround
Workaround for Unity.
- EditorCameraDeviceFrameSource
Controls the easyar.CameraDevice's MonoBehaviour in the editor, used only for development diagnostics. Typically, when this frame source is in use, all effects you see are different from those running on the device. You can use it to develop application logic unrelated to AR effects, but you cannot rely on it to judge the effectiveness of AR operations (detection, tracking, localization, etc.).
This frame source is not a motion-tracking device and will not output motion data in ARSession.
- EventDumpRecorder
Event dump recorder. Used to save some critical diagnostic information to EED files. All members of this class are thread-safe.
- ExplicitAddressAccessData
EasyAR cloud service authentication data that requires filling in the access address.
- ExternalDeviceFrameSource
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.
- ExternalDeviceMotionFrameSource
Represents a frame source for external devices with motion tracking capability. Usually refers to head-mounted devices, where camera rendering and device tracking are handled by the device SDK.
This frame source is a motion tracking device that outputs motion data in ARSession.
You can implement device inputs like headsets by inheriting from it, but you must handle the motion tracking yourself; EasyAR's motion tracking cannot be used directly on external devices. You need to obtain image and pose data from hardware or other sources and input it to EasyAR; EasyAR does not provide the capability to acquire this data, but it does provide the ability to run EasyAR features after inputting this data.
When using trial products (such as Personal Edition license, Trial XR license, or Trial Mega service, etc.) on custom cameras or headsets, EasyAR Sense will stop responding after a fixed limited time upon each startup.
- ExternalDeviceRotationFrameSource
Represents a frame source for external devices with 3DOF rotational tracking capability. Typically refers to head-mounted devices where camera rendering and device tracking are both handled by the device SDK.
This frame source is a 3DOF rotational tracking device that outputs rotation data in ARSession.
You can implement device inputs such as head-mounted displays by inheriting from it, but you must handle the tracking functionality yourself, as EasyAR's 3DOF rotational tracking cannot be used directly on external devices. You need to obtain image and rotation data from hardware or other sources and input it into EasyAR. EasyAR does not provide the capability to acquire this data, but it does provide the ability to run EasyAR features after inputting this data into EasyAR.
When using trial products (such as personal edition licenses, trial XR licenses, or trial Mega services, etc.) on custom cameras or head-mounted displays, EasyAR Sense will stop responding after a fixed limited time each time it is started.
- ExternalFrameSource
An external frame source represents a frame source not built into EasyAR Sense. It is used to support AR Engine, AR Foundation, or head-mounted displays, and can also be used to define your own frame source.
You can implement a custom camera by inheriting from some subtypes of ExternalFrameSource, but you cannot directly inherit from ExternalFrameSource. A custom camera typically represents a new device or a new way of data input.
When using trial products (Personal Edition license, Trial XR license, or Trial Mega service, etc.) with a custom camera or head-mounted display, EasyAR Sense will stop responding after a fixed, limited time following each startup.
- ExternalImageStreamFrameSource
An external frame source that only receives image stream input.
This frame source is not a motion tracking device and will not output motion data in ARSession.
You can implement a custom camera with only image input by inheriting from it; it cannot be used to implement head-mounted display input. You need to obtain images from hardware or other sources (such as a USB-connected Android camera) and input them to EasyAR. EasyAR does not provide the capability to acquire these data, but provides the ability to run EasyAR features after inputting these data into EasyAR.
When using trial products (such as personal edition license, trial edition XR license, or trial edition Mega services) on custom cameras or head-mounted displays, EasyAR Sense will stop responding after a fixed limited time each time it starts.
- FixedAddressAPIKeyAccessData
Authentication data for EasyAR cloud services using API Key. For related data, please visit the EasyAR Development Center (https://www.easyar.cn) to obtain it.
- FrameFilter
A frame filter represents EasyAR functionality that runs using frame input data.
- FramePlayer
Controlseasyar.InputFramePlayerandeasyar.VideoInputFramePlayerin the scene, providing functional extensions in the Unity environment.
It will be used whenFrameSourceisFramePlayeror when 'Frame Player' is selected in the 'Session Validation Tool' of theDiagnosticsControllerinspector in the editor.
- FrameRecorder
Controls the easyar.InputFrameRecorder and easyar.VideoInputFrameRecorder of MonoBehaviour in the scene, providing functional extensions in the Unity environment.
It is automatically assembled into Assembly.
enabled can control the start and end of recording.
- FrameRecorder.RecordFinishEvent
The event when recording ends. The callback parameter is false when recording fails.
- FrameRecorder.RecordStartEvent
Recording start event. The callback parameter is the name of the recorded file.
- FrameRecorder.RecordingConfiguration
Recording configuration.
- FrameRecorder.RecordingConfiguration.FilePathInfo
File path information. The recorded file path is Path.Combine(Application.persistentDataPath, FolderPath, Name + extension) when Type is PersistentDataPath, and is Path.Combine(FolderPath, Name + extension) when Type is Absolute, where the extension is determined by Format.
- FrameSource
A frame-source represents the data source for frame input data, providing image data or both image and motion data.
You can implement custom cameras by inheriting from some subtypes of FrameSource, but you cannot directly inherit from FrameSource. Custom cameras typically represent a new device or a new way of inputting data.
When using trial products (Personal Edition license, trial XR license, or trial Mega Service, etc.) with a custom camera or head-mounted display, EasyAR Sense will stop responding after a fixed, limited time upon each startup.
- FrameSourceCamera
The camera that provides frame data in the Frame source.
- Image
Image stores image data, used to represent images in memory. Image provides access to raw data in the form of a byte array, and also provides an interface to access information such as width/height. In all versions of EasyAR Sense, you can access image data.
In iOS, you can access it like this ::
#import <easyar/buffer.oc.h> #import <easyar/image.oc.h>
easyar_OutputFrame * outputFrame = [outputFrameBuffer peek]; if (outputFrame != nil) { easyar_Image * i = [[outputFrame inputFrame] image]; easyar_Buffer * b = [i buffer]; char * bytes = calloc([b size], 1); memcpy(bytes, [b data], [b size]); // use bytes here free(bytes); }
In Android, ::
import cn.easyar.*;
OutputFrame outputFrame = outputFrameBuffer.peek(); if (outputFrame != null) { InputFrame inputFrame = outputFrame.inputFrame(); Image i = inputFrame.image(); Buffer b = i.buffer(); byte[] bytes = new byte[b.size()]; b.copyToByteArray(0, bytes, 0, bytes.length); // use bytes here b.dispose(); i.dispose(); inputFrame.dispose(); outputFrame.dispose(); }
- ImageHelper
Image Helper Class.
- ImageMaterial
Material for rendering Image.
- ImageTarget
ImageTarget represents the target of a planar image, which can be tracked by `ImageTracker`_. The values inside ImageTarget need to be filled in through methods like create... before they can be read. Then, after successfully loading into `ImageTracker`_ via `ImageTracker.loadTarget`_, it can be detected and tracked by `ImageTracker`_.
- ImageTargetController
Controls the ImageTarget in the scene, providing functional extensions in the Unity environment. After successful loading, you can use Target to access target data.
The data of the target is loaded separately. Loading occurs after the session starts successfully. It will only be fully loaded once in the lifecycle. If loading is interrupted halfway when the session stops, it will reload when the session starts next time.
- ImageTargetController.ImageFileSourceData
Create the image data for the target.
- ImageTargetController.SourceData
Create data for target.
- ImageTargetController.TargetDataFileSourceData
Create target data for targets. The target name and scale are defined in the etd file.
- ImageTargetController.TargetSourceData
Create target'sImageTargetdata.
- ImageTargetController.Texture2DSourceData
Creates the target's Texture2D data.
- ImageTargetParameters
ImageTargetParameters represents the parameters required to create an `ImageTarget`.
- ImageTrackerFrameFilter
Controls the easyar.ImageTracker of MonoBehaviour in the scene, providing functional extensions in the Unity environment.
- InertialCameraDeviceFrameSource
Controlseasyar.InertialCameraDevicein the scene, providing functional extensions in the Unity environment.
This frame source is a 5DOF (rotation + horizontal displacement) tracking device, outputting motion data withinARSession.
- InputFrame
Input frame. Contains image, camera parameters, timestamp, camera transform relative to world coordinate system, and tracking status. Among these, camera parameters, timestamp, camera transform relative to world coordinate system, and tracking status are optional, but specific algorithm components may have specific requirements for the input.
- MegaLandmarkFilterResponse
The response to the Mega Landmark filter request.
- MegaLandmarkFilterWrapper
Mega Landmark VPS cloud-based location filtering feature.
- MegaLocalizationResponse
Response to Mega positioning request.
- MegaRequestTimeParameters
Mega request time parameter.
- MegaTrackerFrameFilter
Controls the easyar.MegaTracker in the scene, providing functional extensions in the Unity environment.
- MotionInputData
Motion input data. Includes timestamp, transformation relative to the world coordinate system, and tracking status.
- MotionTrackerFrameSource
Controls the easyar.MotionTrackerCameraDevice in the scene, providing functional extensions within the Unity environment.
This frame source is a motion-tracking device that outputs motion data in the ARSession.
- ObjectTarget
ObjectTarget represents a 3D object target, which can be tracked by `ObjectTracker`. The size of ObjectTarget is determined by the `obj` file. You can modify the size by changing the `scale`. The default `scale` is 1. After ObjectTarget is successfully loaded into `ObjectTracker` via `ObjectTracker.loadTarget`, it can be detected and tracked by `ObjectTracker`.
- ObjectTargetController
Controls the ObjectTarget of MonoBehaviour, providing feature extensions in the Unity environment. After successful loading, you can use Target to access target data.
Target data is loaded separately. Loading occurs after the session starts successfully. It will only be fully loaded once in the lifecycle. If the session stops during loading, it will be reloaded after the next session starts.
- ObjectTargetController.ObjFileSourceData
Create the obj file data for the target.
- ObjectTargetController.SourceData
Create data for target.
- ObjectTargetController.TargetSourceData
Create the target's ObjectTarget data.
- ObjectTargetParameters
ObjectTargetParameters represents the parameters needed to create an `ObjectTarget`_.
- ObjectTrackerFrameFilter
Controls the easyar.ObjectTracker in the scene, providing feature extensions in the Unity environment.
- PicoFrameSource
Connects Pico's output to EasyAR's input as a custom frame source within the scenario. Provides Pico support via EasyAR Sense's custom camera functionality.
This frame source is a motion-tracking device that outputs motion data in an ARSession.
The ``PICO Unity Integration SDK`` is required to use this frame source. You need to configure the PICO Unity Integration SDK according to the official documentation.
- RokidFrameSource
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.
- SenseLibrary
A tool to obtain EasyAR Sense library information.
- ServiceAccessData
EasyAR cloud service authentication data.
- SessionReport
Session report. Used to query component availability or session loss reasons, etc.
- SessionReport.AvailabilityReport
Availability report.
- SessionReport.AvailabilityReport.DeviceListDownloadResult
Device list download result.
- SessionReport.AvailabilityReport.Item
Availability Project.
- SessionReport.SessionBrokenException
Session corruption specific exception.
- SparseSpatialMapBuildTargetController
Controls the map generated by easyar.SparseSpatialMap for MonoBehaviour in the scene.
- SparseSpatialMapBuilderFrameFilter
Aeasyar.SparseSpatialMap-controllingMonoBehaviour in the scene, providing theeasyar.SparseSpatialMap mapping functionality.
- SparseSpatialMapController
The MonoBehaviour of the map tracked by easyar.SparseSpatialMap in the scene.
- SparseSpatialMapController.MapManagerSourceData
The source of MapManager for creating the map.
- SparseSpatialMapController.SourceData
Create data for target.
- SparseSpatialMapController.SparseSpatialMapInfo
Sparse map information.
- SparseSpatialMapPointCloudRenderer
Render sparse spatial map point cloud as particles.
- SparseSpatialMapPointCloudRenderer.PointCloudParticleParameter
Parameters for rendering point cloud particles.
- SparseSpatialMapTrackerFrameFilter
Controls the easyar.SparseSpatialMap of MonoBehaviour in the scene, providing the localization and tracking functionality of easyar.SparseSpatialMap.
- SparseSpatialMapWorkerFrameFilter
Controls the easyar.SparseSpatialMap in the scene, providing functional extensions in the Unity environment.
- SurfaceTargetController
Controls the surface target's MonoBehaviour in the scene. The surface target is a virtual node that represents the relative node for camera movement in surface tracking.
- SurfaceTrackerFrameFilter
Controlseasyar.SurfaceTrackerin the Scene, providing functional extensions within the Unity environment.
- Target
Target is the base class for all targets that can be tracked by `ImageTracker`_ or other algorithms in EasyAR.
- TargetController
Controls the tracking target in the scene MonoBehaviour, providing functional extensions in the Unity environment.
- ThreeDofCameraDeviceFrameSource
A MonoBehaviour that controls the 3DOF camera device (ThreeDofCameraDeviceFrameSource) in the scene, providing functional extensions in the Unity environment.
This frame source is a 3DOF rotation tracking device, outputting rotation data within the ARSession.
- TokenAccessData
Authentication data for EasyAR cloud service using token. For related data, please visit the EasyAR Developer Center (https://www.easyar.cn) to obtain.
- UnityPackage
Tool for obtaining package information.
- VideoRecorder
Controls the Recorder in the scene, providing functional extensions within the Unity environment.
Users have full control over video recording content. Screen recording does not silently capture the screen or camera output. Video data must be continuously passed in via RecordFrame(RenderTexture).
Note: Only available in non-enterprise Sense, on Android GLES2/3 with multi-threaded rendering disabled.
- VideoRecorder.AudioProfiles
Audio configuration.
- VideoRecorder.VideoProfiles
Video configuration.
- VisionOSARKitFrameSource
AMonoBehaviour that controls the VisionOS ARKit camera device (easyar.VisionOSARKitCameraDevice) in the scene, providing functional extensions within the Unity environment.
This frame-source is a motion-tracking device, outputting motion data within the ARSession.
When using trial products (Personal license, trial XR license, or trial Mega service, etc.) on custom cameras or head-mounted displays, EasyAR Sense will cease responding after a fixed, limited time upon each startup.
- XREALFrameSource
Controls the XREAL camera device (easyar.XREALCameraDevice) in the scene, providing functional extensions within the Unity environment.
This frame source is a motion-tracking device that outputs motion data in the ARSession.
When using trial products (Personal license, trial XR license, or trial Mega service) on custom cameras or head-mounted displays, EasyAR Sense will stop responding after a fixed limited time upon each startup.
- XROriginChildController
The root node serving as the controlled child of the XROrigin within the sceneMonoBehaviour. If this node isn't manually set within the scene, it will be automatically created when required.
XROrigin is a virtual node representing the relative reference point for camera movement within a motion-tracking system. It will be automatically selected or created. If a Unity XR framework XROrigin exists, it will be chosen.
Structs
- ARSessionFactory.FrameSourceSortMethod
Sorting method for the frame source.
- BlockInfo
The model obtained through dense reconstruction is represented using a triangular mesh, referred to as a mesh. Since the mesh undergoes frequent updates, to ensure efficiency, the entire reconstructed model's mesh is partitioned into numerous mesh blocks. A mesh block consists of a cube with an edge length of approximately 1 meter, containing elements such as vertices and indices.
BlockInfo describes the content of a mesh block. The (x,y,z) values represent the indices of the mesh block. Multiplying (x,y,z) by the physical size of each mesh block yields the origin coordinates of this mesh block in the world coordinate system. The required display sections can be pre-filtered based on the position of the mesh block in the world to save rendering time. </p>
- Matrix33F
third-order square matrix. data is arranged in row-major order.
- Matrix44F
fourth-order square matrix. The data arrangement is row-major.
- ProximityLocationResult
Nearby position readings.
Units for x,y,z are meters. The origin is the tile origin. y is upward. Units for accuracy are meters. Units for timestamp,validTime are seconds. is2d indicates whether y is not used. </p>
- Vec2F
2D float vector.
- Vec2I
Two-dimensional int vector.
- Vec3F
3D float vector.
- Vec4F
four-dimensional float vector.
Interfaces
- IDisplay
Display device interface.
Enums
- ARSession.ARCenterMode
AR center mode.
*Note: There are a total of four center modes in the EasyAR Sense Unity Plugin. In other AR frameworks like AR Foundation, similar concepts may not exist, and the behavior of relative relationships between objects there is usually consistent with the *SessionOrigin*mode here.*
The relative transform between theCameraand some AR components is controlled by the session. One object is called theCenterObject; it remains stationary in the scene, while other objects move relative to thisCenterObject. This object is selected based on the value ofCenterMode.
CenterObject represents the object or its parent node that does not move in Unity space. It could be theOrigin, theCamera, or a specific `target`. A `Target` can be an object containing components likeTargetControllerorBlockRootController. When using sparse spatial maps and EasyAR Mega, the actual centerGameObjectis the specifically located map or block object under the root node, and theCenterObject is the parent of this object.
InFirstTarget or SpecificTargetmode, when a `target` is not recognized or lost in a frame, theCenterObject may become another `target`. If no `target` is found within the frame, theCenterObject will fall back to the center of the first available mode in the order ofSessionOriginandCamera.
The relative positional relationship between the `Target` and theCamerais controlled by the current session. The relative positional relationship between theOrigin and theCamera is also controlled by the current session whenIsCameraUnderControl is true. WhenIsCameraUnderControl is false, it is not controlled by the current session and is usually controlled by other AR frameworks like AR Foundation.
- ARSession.ARHorizontalFlipMode
Horizontal mirror rendering mode.
In the horizontal flip state, the camera image will be mirrored. To ensure normal object tracking, it also affects the rendering of 3D objects, so two different methods are provided. Horizontal flipping only works under object perception algorithms, such as image tracking or object tracking.
- ARSession.SessionState
The state of the session.
- ARSessionFactory.ARSessionPreset
ARSession preset.
- ARSessionFactory.FrameSourceSortMethod.ARCoreSortMethod
Sorting method for ARCore/ARCoreARFoundation frame source.
- ARSessionFactory.FrameSourceSortMethod.ARKitSortMethod
Sorting method for ARKit/ARKitARFoundation frame source.
- ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod
Sorting method for EasyAR motion tracker/System SLAM (ARCore, ARKit, AREngine) frame source.
- ActiveController.Strategy
activeSelfControl strategy.
- AssembleOptions.FrameFilterSelection
Select the selection strategy for FrameFilter.
- AssembleOptions.FrameSourceSelection
Select the selection strategy for FrameSource.
- AxisSystemType
Coordinate system type.
- CameraDeviceDisplay.DisplayMode
View mode.
- CameraDeviceFrameSource.CameraDeviceOpenMethod
easyar.CameraDeviceOpening method.
- CameraDeviceType
Camera device type.
- CameraModelType
Camera-model type.
- CameraTransformType
Camera transformation type.
- CloudRecognizerFrameFilter.ServiceAccessSourceType
Service access data source type.
- DiagnosticsController.DeveloperModeSwitchType
Developer mode switch type.
- DiagnosticsController.MessageOutputMode
Message output mode.
- DiagnosticsController.SessionDumpOutputMode
Session state dump output mode.
- DisplayEmulator.RotationMode
Rotation mode.
- EasyARSettings.ARCoreType
ARCore SDK configuration.
- EasyARSettings.AREngineType
AREngine SDK configuration.
- EasyARSettings.LibVariantConfig.AndroidVariant
EasyAR Sense Android library variant.
- EasyARSettings.LibVariantConfig.IOSVariant
EasyAR Sense iOS library variant.
- ExternalDeviceFrameSource.DeviceOriginType
Device origin type.
session origin is used to set the transform reference point in SessionOrigin center mode, and is also used to transform the camera-origin pair simultaneously in other center modes. If your SDK is designed based on the Unity XR framework, you will be familiar with XR.CoreUtils.XROrigin. Origin is analogous to XR.CoreUtils.XROrigin, where the rendering camera is its child node. Users can move the origin within the scene without losing the local motion relationship defined by the camera-origin pair. EasyAR utilizes the camera-origin pair to handle target center mode, which is particularly useful when running Mega, as Mega defines the real-world coordinate system for the entire Earth, while the camera-origin pair typically defines the VIO coordinate system relative to a starting point.
- FrameRecorder.InternalFormat
Internal data format.
- FrameRecorder.RecorderStatus
Recording status.
- MegaApiType
MEGA API Type.
- MegaInputFrameLevel
When using the Mega function, the equivalent of the input frame CameraTransformType equivalent degrees of freedom.
- MegaLocationInputMode
Mega location input mode.
- MegaServiceAccessSourceType
Mega service access data source type.
- MotionTrackingStatus
Describes the quality of device motion tracking.
- PathType
Path Type.
- PixelFormat
PixelFormat represents the image pixel format. The pixel orientation for all formats is from left to right and top to bottom.
- SessionReport.AvailabilityReport.AvailabilityStatus
Availability status.
- SessionReport.AvailabilityReport.DeviceListDownloadStatus
The status of the download list.
- SessionReport.AvailabilityReport.DeviceListDownloadType
The component type of the download list.
- SessionReport.SessionBrokenReason
Reasons for session damage.
- SparseSpatialMapWorkerFrameFilter.ServiceAccessSourceType
Service access data source type.
- StorageType
StorageType represents the storage location for images, JSON files, videos, or other files. StorageType specifies the root directory for file storage, and you can use relative paths relative to this root directory in all related interfaces.
- VideoRecorder.RecordProfile
Video configuration
- VideoRecorder.RecordZoomMode
Video scaling mode.
- VideoRecorder.VideoOrientation
Screen recording video orientation.
- VideoRecorder.VideoSize
Video size.
- WritablePathType
File output path type.