Table of Contents

Namespace easyar

APIExtend

扩展EasyAR Sense API 及 Unity API,为数据转换等操作提供便利。

APIKeyAccessData

使用API Key的EasyAR云服务鉴权数据。有关数据请访问EasyAR开发中心(https://www.easyar.cn)获取。

ARAssembly

AR组件的组装体。它实现了一种对所有EasyAR Sense组件的典型组装。

ARCoreARFoundationFrameSource

在场景中将AR Foundation 的ARCore输出连接到EasyAR输入的自定义frame source。通过EasyAR Sense的自定义相机功能提供AR Foundation支持。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

为了使用这个frame source, ``AR Foundation`` 是必需的。你需要根据官方文档配置AR Foundation。

ARCoreFrameSource

在场景中控制ARCore相机设备(easyar.ARCoreCameraDevice)的MonoBehaviour,在Unity环境下提供功能扩展。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

AREngineFrameSource

在场景中将AREngine相机设备的输出连接到EasyAR输入的自定义frame source。通过EasyAR Sense的自定义相机功能提供华为AR Engine支持。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

这个frame source不使用 ``华为 AR Engine Unity SDK`` ,无需添加。

ARFoundationFrameSource

在场景中将AR Foundation 的输出连接到EasyAR输入的自定义frame source。通过EasyAR Sense的自定义相机功能提供AR Foundation支持。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

为了使用这个frame source, ``AR Foundation`` 是必需的。你需要根据官方文档配置AR Foundation。

ARKitARFoundationFrameSource

在场景中将AR Foundation 的ARKit输出连接到EasyAR输入的自定义frame source。通过EasyAR Sense的自定义相机功能提供AR Foundation支持。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

为了使用这个frame source, ``AR Foundation`` 是必需的。你需要根据官方文档配置AR Foundation。

ARKitFrameSource

在场景中控制ARKit相机设备(easyar.ARKitCameraDevice)的MonoBehaviour,在Unity环境下提供功能扩展。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

ARSession

在场景中控制AR会话的MonoBehaviour。一个会话包含一组组装成ARAssembly的组件,并控制整个生命周期的数据流。这个组件是AR的入口。同一时刻不允许出现多个active的实例。

EasyAR组件的所有功能必须在StartSession()之后才能使用。

Camera和一部分AR组件之间的相对transform是受session控制的,其中的一个物体被称为CenterObject,它在场景中不动,其它物体相对这个CenterObject运动。这个物体是根据CenterMode的数值进行选择的。更详细的说明可以查看ARSession.ARCenterMode的描述。

ARSession.FlipOptions

镜像渲染选项。

ARSessionFactory

ARSession工厂。

ARSessionFactory.Resources

创建对应组件所需资源。

ActiveController

管理activeSelfMonoBehaviour

默认策略如下:TargetController默认使用ActiveWhileTrackedXROriginChildController默认使用ActiveAfterFirstTracked

可以使用OverrideStrategy来覆盖默认策略。设置MonoBehaviour.enabled为false可关闭控制。

AppSecretAccessData

使用App Secret的EasyAR云服务鉴权数据。有关数据请访问EasyAR开发中心(https://www.easyar.cn)获取。

AssembleOptions

ARSession的组装选项。

AssembleOptions.DeviceListDownload

设备列表下载选项。

Buffer

Buffer 存储了原始字节数组,可以用来访问图像数据。 在Java API中可以从 `Image`_ 中获取buffer然后copy数据到Java字节数组。 在EasyAR Sense的所有版本中,你都可以访问图像数据。参考 `Image`_ 。

BufferDictionary

一个从文件路径到 `Buffer`_ 的映射。用于表示多个放在内存中的文件。

BufferPool

BufferPool 实现了一个内存池,可用于自定义摄像头接入等需要反复分配相同大小内存的功能,降低内存分配耗时。

CameraDeviceDisplay

常规相机的显示。你可以在Unity编辑器或PC上模拟屏幕旋转,以便配合特殊的屏幕摆放需求。

CameraDeviceFrameSource

在场景中控制easyar.CameraDeviceMonoBehaviour,在Unity环境下提供功能扩展。

这个frame source不是运动跟踪设备,在ARSession中不会输出运动数据。

CameraImageRenderer

在场景中控制camera图像渲染的MonoBehaviour。仅当session的frame sourceIsCameraUnderControl为true时有效。

CameraParameters

camera参数,包括图像大小、焦距、主点、camera类型和camera相对设备自然方向的旋转角度。

CloudLocalizerFrameFilter

在场景中控制easyar.CloudLocalizerMonoBehaviour,在Unity环境下提供功能扩展。

CloudRecognizationResponse

识别请求的响应。

CloudRecognizerFrameFilter

在场景中控制easyar.CloudRecognizerMonoBehaviour,在Unity环境下提供功能扩展。

DenseSpatialMapBlockController

在场景中控制easyar.DenseSpatialMap生成的地图网格块的MonoBehaviour

DenseSpatialMapBuilderFrameFilter

在场景中控制easyar.DenseSpatialMapMonoBehaviour,在Unity环境下提供功能扩展。

DeviceFrameSourceCamera

Frame source中提供相机帧数据的设备相机。

DeviceFrameSourceCamera.CameraExtrinsics

相机外参,一般是标定的矩阵,表达在相机相对设备/头的pose原点的物理偏移。

DiagnosticsController

当前ARSession的诊断控制器。让它成为你的开发伙伴而非第一个关闭的组件。

DiagnosticsController.MessageOutputOptions

消息输出选项。

Display

显示设备。

DisplayEmulator

旋转模拟器。

EasyARCameraImageRendererFeature

使用URP时用来渲染AR设备相机图像的render feature。需要在forward renderer asset的renderer feature 列表中添加这个render feature。

EasyARController

EasyAR Sense Engine类的静态代理,主要用于Sense初始化。

EasyARSettings

EasyAR Sense Unity Plugin的配置信息。

EasyARSettings.LibVariantConfig

EasyAR Sense 库变种配置。

EasyARSettings.Permission

权限配置。

EasyARSettings.TargetGizmoConfig

Target的Gizmos配置。

EasyARSettings.TargetGizmoConfig.ImageTargetConfig

ImageTargetGizmos配置。

EasyARSettings.TargetGizmoConfig.ObjectTargetConfig

ObjectTargetGizmos配置。

EasyARSettings.UnityXROptions

与Unity XR Framework相关的配置项。

EasyARSettings.UnityXROptions.AutoSwitchOptions

自动切换Unity XR(比如AR Foundation)物体的选项。

EasyARSettings.UnityXROptions.AutoSwitchOptions.EditorOptions

编辑模式选项。

EasyARSettings.UnityXROptions.AutoSwitchOptions.PlayerOptions

运行模式选项。

EasyARSettings.Workaround

Workaround for Unity.

EditorCameraDeviceFrameSource

在编辑器中控制easyar.CameraDeviceMonoBehaviour,仅用来提供开发诊断使用。通常当这个frame source在使用的时候,你看到的所有效果都和设备上运行是不同的。你可以使用它做一些AR效果无关的应用逻辑开发,但不能凭它判断AR运行(检测、跟踪、定位等)的效果。

这个frame source不是运动跟踪设备,在ARSession中不会输出运动数据。

EventDumpRecorder

事件转储录制器。 用于将一些关键诊断信息保存到EED文件中。 本类的所有成员都是线程安全的。

ExplicitAddressAccessData

需要填写访问地址的EasyAR云服务鉴权数据。

ExternalDeviceFrameSource

表示外部设备的frame source。通常表示头戴设备,其中相机渲染和设备跟踪都由设备SDK完成。

你可以通过继承ExternalDeviceFrameSource的子类型来实现自定义相机,但你不能直接继承ExternalDeviceFrameSource。自定义相机通常表达一个新的设备或新的数据输入方式。

在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。

ExternalDeviceMotionFrameSource

表示具有运动跟踪能力的外部设备的frame source。通常表示头戴设备,其中相机渲染和设备跟踪都由设备SDK完成。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

你可以通过继承它来实现头显等设备输入,但你必须自己完成运动跟踪功能,EasyAR的运动跟踪并不能直接在外部设备上使用。你需要自己从硬件或其它地方获取图像和pose数据并输入到EasyAR,EasyAR不提供这些数据的获取能力,但提供将这些数据输入EasyAR之后运行EasyAR功能的能力。

在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。

ExternalDeviceRotationFrameSource

表示具有3DOF旋转跟踪能力的外部设备的frame source。通常表示头戴设备,其中相机渲染和设备跟踪都由设备SDK完成。

这个frame source是一种3DOF旋转跟踪设备,在ARSession中会输出旋转数据。

你可以通过继承它来实现头显等设备输入,但你必须自己完成跟踪功能,EasyAR的3DOF旋转跟踪并不能直接在外部设备上使用。你需要自己从硬件或其它地方获取图像和旋转数据并输入到EasyAR,EasyAR不提供这些数据的获取能力,但提供将这些数据输入EasyAR之后运行EasyAR功能的能力。

在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。

ExternalFrameSource

一个外部frame source代表非EasyAR Sense内置的frame source。它用于支持AR Engine,AR Foundation或头显,也可以用于定义你自己的frame source。

你可以通过继承ExternalFrameSource的一些子类型来实现自定义相机,但你不能直接继承ExternalFrameSource。自定义相机通常表达一个新的设备或新的数据输入方式。

在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。

ExternalImageStreamFrameSource

一个只接收图像流输入的外部frame source。

这个frame source不是运动跟踪设备,在ARSession中不会输出运动数据。

你可以通过继承它来实现只有图像输入的自定义相机,它不能用于实现头显输入。你需要自己从硬件或其它地方(比如usb连接的Android相机)获取图像并输入到EasyAR,EasyAR不提供这些数据的获取能力,但提供将这些数据输入EasyAR之后运行EasyAR功能的能力。

在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。

FixedAddressAPIKeyAccessData

使用API Key的EasyAR云服务鉴权数据。有关数据请访问EasyAR开发中心(https://www.easyar.cn)获取。

FrameFilter

一个frame filter代表使用frame输入数据运行的EasyAR功能。

FramePlayer

在场景中控制easyar.InputFramePlayereasyar.VideoInputFramePlayerMonoBehaviour,在Unity环境下提供功能扩展。

它将会在FrameSourceFramePlayer或者编辑器上在DiagnosticsController inspector的'Session Validation Tool'中选择了'Frame Player'DiagnosticsController时被使用。

FrameRecorder

在场景中控制easyar.InputFrameRecordereasyar.VideoInputFrameRecorderMonoBehaviour,在Unity环境下提供功能扩展。

它会被自动组装进Assembly

enabled可以控制录制开始和结束。

FrameRecorder.RecordFinishEvent

录制结束的事件。录制出错时回调参数为false。

FrameRecorder.RecordStartEvent

录制开始事件。回调参数是录制的文件名。

FrameRecorder.RecordingConfiguration

录制配置。。

FrameRecorder.RecordingConfiguration.FilePathInfo

文件路径信息。录制的文件路径在TypePersistentDataPath时是 Path.Combine(Application.persistentDataPath, FolderPath, Name + extension),TypeAbsolute时是 Path.Combine(FolderPath, Name + extension),其中extension由Format决定。

FrameSource

一个frame source代表frame输入数据的数据源,它提供图像数据或同时提供运动数据。

你可以通过继承FrameSource的一些子类型来实现自定义相机,但你不能直接继承FrameSource。自定义相机通常表达一个新的设备或新的数据输入方式。

在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。

FrameSourceCamera

Frame source中提供相机帧数据的相机。

Image

Image存储了图像数据,用来表示内存中的图像。 Image以字节数组的方式提供了对原始数据的访问,同时也提供了访问width/height等信息的接口。 在EasyAR Sense的所有版本中,你都可以访问图像数据。

 在iOS中可以这样访问
 ::

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

 在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();
     }
 </p>
ImageHelper

图像帮助类。

ImageMaterial

用于渲染Image的材质。

ImageTarget

ImageTarget表示平面图像的target,它可以被 `ImageTracker`_ 所跟踪。 ImageTarget内的数值在可以被读取之前需要首先通过create...等方法填入。然后再通过 `ImageTracker.loadTarget`_ 成功载入 `ImageTracker`_ 之后可以被 `ImageTracker`_ 检测和跟踪。

ImageTargetController

在场景中控制ImageTargetMonoBehaviour,在Unity环境下提供功能扩展。加载成功后可以使用Target访问target数据。

target的数据会单独加载,加载会在session成功启动后发生,生命周期中只会完整加载一次,如加载到一半session停止,将在下次session启动后再次加载。

ImageTargetController.ImageFileSourceData

创建target的图像数据。

ImageTargetController.SourceData

创建target的数据。

ImageTargetController.TargetDataFileSourceData

创建target的target data。Target名字和缩放在etd文件中定义。

ImageTargetController.TargetSourceData

创建target的ImageTarget数据。

ImageTargetController.Texture2DSourceData

创建target的Texture2D数据。

ImageTargetParameters

ImageTargetParameters表示创建 `ImageTarget`_ 所需要的参数。

ImageTrackerFrameFilter

在场景中控制easyar.ImageTrackerMonoBehaviour,在Unity环境下提供功能扩展。

InertialCameraDeviceFrameSource

在场景中控制easyar.InertialCameraDeviceMonoBehaviour,在Unity环境下提供功能扩展。

这个frame source是一种5DOF(旋转+水平位移)跟踪设备,在ARSession中会输出运动数据。

InputFrame

输入帧。 包含图像、camera参数、时间戳、相机相对于世界坐标系的变换和跟踪状态。 其中,camera参数、时间戳、相机相对于世界坐标系的变换和跟踪状态均为可选,但特定的算法组件会对输入有特定的要求。

MegaLandmarkFilterResponse

Mega Landmark filter请求的响应。

MegaLandmarkFilterWrapper

Mega Landmark VPS云定位过滤功能。

MegaLocalizationResponse

Mega定位请求的响应。

MegaRequestTimeParameters

Mega 请求时间参数。

MegaResultPoseTypeParameters

Mega 结果姿态类型参数。

MegaTrackerFrameFilter

在场景中控制easyar.MegaTrackerMonoBehaviour,在Unity环境下提供功能扩展。

MotionInputData

运动输入数据。 包含、时间戳、相对于世界坐标系的变换和跟踪状态。

MotionTrackerFrameSource

在场景中控制easyar.MotionTrackerCameraDeviceMonoBehaviour,在Unity环境下提供功能扩展。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

ObjectTarget

ObjectTarget表示3D object target,它可以被 `ObjectTracker`_ 所跟踪。 ObjectTarget的大小由 `obj` 文件决定。可以通过修改 `scale` 达到修改size的目的。 `scale` 默认为1。 ObjectTarget通过 `ObjectTracker.loadTarget`_ 成功载入 `ObjectTracker`_ 之后可以被 `ObjectTracker`_ 检测和跟踪。

ObjectTargetController

在场景中控制ObjectTargetMonoBehaviour,在Unity环境下提供功能扩展。加载成功后可以使用Target访问target数据。

target的数据会单独加载,加载会在session成功启动后发生,生命周期中只会完整加载一次,如加载到一半session停止,将在下次session启动后再次加载。

ObjectTargetController.ObjFileSourceData

创建target的obj文件数据。

ObjectTargetController.SourceData

创建target的数据。

ObjectTargetController.TargetSourceData

创建target的ObjectTarget数据。

ObjectTargetParameters

ObjectTargetParameters表示创建 `ObjectTarget`_ 所需要的参数。

ObjectTrackerFrameFilter

在场景中控制easyar.ObjectTrackerMonoBehaviour,在Unity环境下提供功能扩展。

PicoFrameSource

在场景中将Pico的输出连接到EasyAR输入的自定义frame source。通过EasyAR Sense的自定义相机功能提供Pico支持。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

为了使用这个frame source, ``PICO Unity Integration SDK`` 是必需的。你需要根据官方文档配置PICO Unity Integration SDK。

PoseUtility
RefBase
RokidFrameSource

在场景中将Rokid的输出连接到EasyAR输入的自定义frame source。通过EasyAR Sense的自定义相机功能提供Rokid支持。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

为了使用这个frame source, ``Rokid Unity OpenXR Plugin (com.rokid.openxr)`` 是必需的。你需要根据官方文档配置Rokid Unity OpenXR Plugin。

SenseLibrary

获取EasyAR Sense库信息的工具。

ServiceAccessData

EasyAR云服务鉴权数据。

SessionReport

Session 报告。用于查询组件可用性或session损耗原因等。

SessionReport.AvailabilityReport

可用性报告。

SessionReport.AvailabilityReport.DeviceListDownloadResult

设备列表下载结果。

SessionReport.AvailabilityReport.Item

可用性项目。

SessionReport.SessionBrokenException

Session 损坏具体异常。

SparseSpatialMapBuildTargetController

在场景中控制easyar.SparseSpatialMap生成的地图的MonoBehaviour

SparseSpatialMapBuilderFrameFilter

在场景中控制easyar.SparseSpatialMapMonoBehaviour,提供easyar.SparseSpatialMap的建图功能。

SparseSpatialMapController

在场景中由easyar.SparseSpatialMap跟踪的地图的MonoBehaviour

SparseSpatialMapController.MapManagerSourceData

创建map的MapManager来源。

SparseSpatialMapController.SourceData

创建target的数据。

SparseSpatialMapController.SparseSpatialMapInfo

稀疏地图信息。

SparseSpatialMapPointCloudRenderer

渲染稀疏空间地图点云成粒子。

SparseSpatialMapPointCloudRenderer.PointCloudParticleParameter

渲染点云粒子的参数。

SparseSpatialMapTrackerFrameFilter

在场景中控制easyar.SparseSpatialMapMonoBehaviour,提供easyar.SparseSpatialMap的定位跟踪功能。

SparseSpatialMapWorkerFrameFilter

在场景中控制easyar.SparseSpatialMapMonoBehaviour,在Unity环境下提供功能扩展。

SurfaceTargetController

在场景中控制surface target的MonoBehaviour。surface target是一个虚拟的节点,它表示在表面跟踪中,camera移动的相对节点。

SurfaceTrackerFrameFilter

在场景中控制easyar.SurfaceTrackerMonoBehaviour,在Unity环境下提供功能扩展。

Target

Target是EasyAR里面所有可以被 `ImageTracker`_ 或其它算法跟踪的目标的基类。

TargetController

在场景中控制跟踪目标的MonoBehaviour,在Unity环境下提供功能扩展。

ThreeDofCameraDeviceFrameSource

在场景中控制3DOF相机设备(ThreeDofCameraDeviceFrameSource)的MonoBehaviour,在Unity环境下提供功能扩展。

这个frame source是一种3DOF旋转跟踪设备,在ARSession中会输出旋转数据。

TokenAccessData

使用token的EasyAR云服务鉴权数据。有关数据请访问EasyAR开发中心(https://www.easyar.cn)获取。

UnityPackage

获取包信息的工具。

VideoRecorder

在场景中控制Recorder的MonoBehaviour,在Unity环境下提供功能扩展。

用户对视频录制的内容有完全控制,录屏功能不会默默地录制屏幕或是camera输出,录制的视频数据需要通过RecordFrame(RenderTexture)不断传入。

注意: 仅在非企业版Sense中,Android GLES2/3且关闭多线程渲染时可用。

VideoRecorder.AudioProfiles

音频配置。

VideoRecorder.VideoProfiles

视频配置。

VisionOSARKitFrameSource

在场景中控制VisionOS ARKit相机设备(easyar.VisionOSARKitCameraDevice)的MonoBehaviour,在Unity环境下提供功能扩展。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。

XREALFrameSource

在场景中控制XREAL相机设备(easyar.XREALCameraDevice)的MonoBehaviour,在Unity环境下提供功能扩展。

这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。

在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。

XROriginChildController

在场景中承担需要受到控制的XROrigin子物体的根节点MonoBehaviour。如果场景中没有手动设置这个节点,它将在被需要的时候自动被创建。

XROrigin是一个虚拟的节点,它表示在运动跟踪的系统中,camera移动的相对节点,它将自动被选择或创建。如果Unity XR框架的XROrigin存在,它会被选择。

结构

ARSessionFactory.FrameSourceSortMethod

Frame source 的排序方法。

BlockInfo

稠密重建得到的模型使用三角网格表示,称为mesh。由于mesh会进行频繁的更新,为了保证效率,整个重建模型的mesh被分割成了非常多的mesh block。一个mesh block由一个边长大概1米的立方体组成,其中有vertex和index等元素。

 BlockInfo用来描述一个mesh block的内容。其中(x,y,z)是mesh block的索引,将(x,y,z)乘上每个mesh block的物理尺寸可以获得这个mesh block的原点在世界坐标系中的坐标。可以通过mesh block在世界中的位置对需要显示的部分进行提前过滤,以节省渲染需要的时间。
 </p>
Matrix33F

三阶方阵。数据的排列方式为row-major。

Matrix44F

四阶方阵。数据的排列方式为row-major。

Optional<T>
ProximityLocationResult

邻近位置读数。

 x, y, z单位为米。原点为地图块原点。y向上。
 accuracy单位为米。
 timestamp, validTime单位为秒。
 is2d表示是否不使用y。
 </p>
Unit
Vec2F

二维float向量。

Vec2I

二维int向量。

Vec3F

三维float向量。

Vec4F

四维float向量。

接口

IDisplay

显示设备接口。

枚举

ARCoreCameraDeviceFocusMode
AREngineCameraDeviceFocusMode
ARKitCameraDeviceFocusMode
ARSession.ARCenterMode

AR中心模式。

*注意:在EasyAR Sense Unity Plugin中总共有四种中心模式。在其它AR框架比如AR Foundation中可能并不存在类似的概念,通常它们里面的物体间相对关系的行为与这里的*SessionOrigin*模式一致。*

Camera和一部分AR组件之间的相对transform是受session控制的,其中的一个物体被称为CenterObject,它在场景中不动,其它物体相对这个CenterObject运动。这个物体是根据CenterMode的数值进行选择的。

CenterObject 表示在Unity空间中不运动的物体或这个物体的父节点。它可能是 OriginCamera 或某个 `target` 。 `Target` 可以是包含TargetControllerBlockRootController组件的物体。在使用稀疏空间地图和EasyAR Mega的时候,实际的中心GameObject是root节点下具体定位到的map或block物体,CenterObject 是这个物体的父节点。

FirstTargetSpecificTarget模式下,当 `target` 在某一帧中未被识别到或丢失的时候,CenterObject 可能会变成其它 `target` ,而如果在帧内找不到 `target` ,CenterObject会按先后顺序退变为SessionOriginCamera里面第一个可用的模式的中心。

`Target` 和Camera的相对位置关系由当前session控制。OriginCamera的相对位置关系,在IsCameraUnderControl 为true的时候,也由当前session控制,而当IsCameraUnderControl 为false的时候,它是不受当前session控制的,通常由其它AR框架比如AR Foundation控制。

ARSession.ARHorizontalFlipMode

水平镜像渲染模式。

在水平翻转状态下,相机图像将镜像显示,为确保物体跟踪正常,它同时会影响3D物体的渲染,因此提供两种不同的方式。水平翻转只能在物体感知(比如图像跟踪或物体跟踪)算法下工作。

ARSession.SessionState

Session的状态。

ARSessionFactory.ARSessionPreset

ARSession预设。

ARSessionFactory.FrameSourceSortMethod.ARCoreSortMethod

ARCore/ARCoreARFoundation frame source 的排序方法。

ARSessionFactory.FrameSourceSortMethod.ARKitSortMethod

ARKit/ARKitARFoundation frame source 的排序方法。

ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod

EasyAR motion tracker/System SLAM (ARCore, ARKit, AREngine) frame source 的排序方法。

ActiveController.Strategy

activeSelf的控制策略。

AndroidCameraApiType
AssembleOptions.FrameFilterSelection

挑选FrameFilter的选择策略。

AssembleOptions.FrameSourceSelection

挑选FrameSource的选择策略。

AxisSystemType

坐标轴系统类型。

CameraDeviceDisplay.DisplayMode

显示模式。

CameraDeviceFocusMode
CameraDeviceFrameSource.CameraDeviceOpenMethod

easyar.CameraDevice开启方式。

CameraDevicePreference
CameraDeviceType

相机设备类型。

CameraModelType

相机模型类型。

CameraState
CameraTransformType

相机变换类型。

CloudRecognizationStatus
CloudRecognizerFrameFilter.ServiceAccessSourceType

服务访问数据源类型。

DiagnosticsController.DeveloperModeSwitchType

开发者模式开关类型。

DiagnosticsController.MessageOutputMode

消息输出模式。

DiagnosticsController.SessionDumpOutputMode

会话状态转储输出模式。

DisplayEmulator.RotationMode

旋转模式。

EasyARSettings.ARCoreType

ARCore SDK配置。

EasyARSettings.AREngineType

AREngine SDK配置。

EasyARSettings.LibVariantConfig.AndroidVariant

EasyAR Sense Android库变种。

EasyARSettings.LibVariantConfig.IOSVariant

EasyAR Sense iOS库变种。

ExternalDeviceFrameSource.DeviceOriginType

设备原点类型。

session origin用于设置SessionOrigin中心模式下的 transform 基准点,并用于在其它中心模式下同时变换 camera-origin 对。如果你的SDK是基于Untiy XR框架进行设计的,你会对 XR.CoreUtils.XROrigin 比较熟悉。Origin就是类似 XR.CoreUtils.XROrigin 的东西,渲染相机是它的儿子节点。用户可以在场景中移动 origin ,而不损失由 camera-origin对定义的局部运动关系。EasyAR会使用camera-origin对来处理target中心模式,这在运行Mega时尤其有用,因为在Mega中定义了整个地球的现实世界坐标系,而 camera-origin对通常定义的是相对于某个启动点的VIO坐标系。

FrameRecorder.InternalFormat

内部数据格式。

FrameRecorder.RecorderStatus

录制状态。

ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API类型。

MegaInputFrameLevel

使用Mega功能时输入帧的等价CameraTransformType的等价自由度。

MegaLandmarkFilterStatus
MegaLocationInputMode

Mega 位置输入模式。

MegaServiceAccessSourceType

Mega 服务访问数据源类型。

MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

描述设备运动跟踪的质量。

OptionalTag
PathType

路径类型。

PermissionStatus
PixelFormat

PixelFormat表示图像像素格式。所有格式的像素方向均为从左到右,从上到下的。

SessionReport.AvailabilityReport.AvailabilityStatus

可用性状态。

SessionReport.AvailabilityReport.DeviceListDownloadStatus

下载列表的状态。

SessionReport.AvailabilityReport.DeviceListDownloadType

下载列表的组件类型。

SessionReport.SessionBrokenReason

Session 损坏原因。

SparseSpatialMapWorkerFrameFilter.ServiceAccessSourceType

服务访问数据源类型。

StorageType

StorageType表示图像、json文件、视频或其它文件的存放位置。 StorageType指定了文件存放的根目录,你可以在所有相关接口中使用相对于这个根目录的相对路径。

ThreeDofCameraDeviceFocusMode
VideoRecorder.RecordProfile

视频配置。

VideoRecorder.RecordZoomMode

视频缩放模式。

VideoRecorder.VideoOrientation

录屏视频朝向。

VideoRecorder.VideoSize

视频尺寸。

WritablePathType

文件输出路径类型。