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
管理activeSelf的 MonoBehaviour 。
默认策略如下:TargetController默认使用ActiveWhileTracked,XROriginChildController默认使用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.CameraDevice的MonoBehaviour,在Unity环境下提供功能扩展。
这个frame source不是运动跟踪设备,在ARSession中不会输出运动数据。
- CameraImageRenderer
在场景中控制camera图像渲染的MonoBehaviour。仅当session的frame sourceIsCameraUnderControl为true时有效。
- CameraParameters
camera参数,包括图像大小、焦距、主点、camera类型和camera相对设备自然方向的旋转角度。
- CloudLocalizerFrameFilter
在场景中控制easyar.CloudLocalizer的MonoBehaviour,在Unity环境下提供功能扩展。
绝大多数情况下,应使用 MegaTrackerFrameFilter。
- CloudRecognizationResponse
识别请求的响应。
- CloudRecognizerFrameFilter
在场景中控制easyar.CloudRecognizer的MonoBehaviour,在Unity环境下提供功能扩展。
- DenseSpatialMapBlockController
在场景中控制easyar.DenseSpatialMap生成的地图网格块的MonoBehaviour。
- DenseSpatialMapBuilderFrameFilter
在场景中控制easyar.DenseSpatialMap的MonoBehaviour,在Unity环境下提供功能扩展。
- DeviceFrameSourceCamera
Frame source中提供相机帧数据的设备相机。
- DeviceFrameSourceCamera.CameraExtrinsics
相机外参,一般是标定的矩阵,表达在相机相对设备/头的pose原点的物理偏移。
- DiagnosticsController
当前ARSession的诊断控制器。让它成为你的开发伙伴而非第一个关闭的组件。
- 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.TargetGizmoConfig
Target的Gizmos配置。
- EasyARSettings.UnityXROptions
与Unity XR Framework相关的配置项。
- EasyARSettings.UnityXROptions.AutoSwitchOptions
自动切换Unity XR(比如AR Foundation)物体的选项。
- EasyARSettings.Workaround
Workaround for Unity.
- EditorCameraDeviceFrameSource
在编辑器中控制easyar.CameraDevice的MonoBehaviour,仅用来提供开发诊断使用。通常当这个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.InputFramePlayer和easyar.VideoInputFramePlayer的MonoBehaviour,在Unity环境下提供功能扩展。
它将会在FrameSource是FramePlayer或者编辑器上在DiagnosticsController inspector的'Session Validation Tool'中选择了'Frame Player'DiagnosticsController时被使用。
- FrameRecorder
在场景中控制easyar.InputFrameRecorder和easyar.VideoInputFrameRecorder 的MonoBehaviour,在Unity环境下提供功能扩展。
它会被自动组装进Assembly。
enabled可以控制录制开始和结束。
- FrameRecorder.RecordFinishEvent
录制结束的事件。录制出错时回调参数为false。
- FrameRecorder.RecordStartEvent
录制开始事件。回调参数是录制的文件名。
- FrameRecorder.RecordingConfiguration.FilePathInfo
文件路径信息。录制的文件路径在Type为PersistentDataPath时是 Path.Combine(Application.persistentDataPath, FolderPath, Name + extension),Type为Absolute时是 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
在场景中控制ImageTarget的MonoBehaviour,在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.ImageTracker的MonoBehaviour,在Unity环境下提供功能扩展。
- InertialCameraDeviceFrameSource
在场景中控制easyar.InertialCameraDevice的MonoBehaviour,在Unity环境下提供功能扩展。
这个frame source是一种5DOF(旋转+水平位移)跟踪设备,在ARSession中会输出运动数据。
- InputFrame
输入帧。 包含图像、camera参数、时间戳、相机相对于世界坐标系的变换和跟踪状态。 其中,camera参数、时间戳、相机相对于世界坐标系的变换和跟踪状态均为可选,但特定的算法组件会对输入有特定的要求。
- MegaBlockController
在场景中由 MegaCloudFrameFilter 跟踪的 block 的 MonoBehaviour。
只有服务中包含对应 block ID 的数据,正确且被加载到 MegaCloudFrameFilter 的 MegaBlockController 才能在 ARSession 中正常使用,内容才能显示正确。
- MegaBlockController.BlockInfo
Block 信息。
- MegaBlockController.BlockInfoSourceData
创建 block 的信息来源。
- MegaBlockController.SourceData
创建 target 的数据。
- MegaCloudFrameFilter
在场景中控制 Mega 云服务组件的MonoBehaviour。
- MegaGoBlockController
在场景中由 MegaGoTrackerFrameFilter 跟踪的 block 的 MonoBehaviour。
- MegaGoBlockController.BlockInfo
Block 信息。
- MegaGoBlockController.FileSourceData
创建target的文件数据。
- MegaGoBlockController.SourceData
创建target的数据。
- MegaGoTrackerFrameFilter
在场景中控制easyar.MegaGoTracker的MonoBehaviour,在Unity环境下提供功能扩展。
- MegaGoTrackerLocalizationResponse
MegaGoTracker 定位的响应。
- MegaLandmarkFilterResponse
Mega Landmark filter请求的响应。
- MegaLandmarkFilterWrapper
Mega Landmark VPS云定位过滤功能。
- MegaLocalizationResponse
Mega定位请求的响应。
- MegaRequestTimeParameters
Mega 请求时间参数。
- MegaTrackerFrameFilter
在场景中控制easyar.MegaTracker的MonoBehaviour,在Unity环境下提供功能扩展。
- MetaXRFrameSource
在场景中将 Meta XR 的输出连接到 EasyAR 输入的自定义 frame source。通过 EasyAR Sense 的自定义相机功能提供 Meta XR 支持。
这个 frame source 是一种运动跟踪设备,在 ARSession 中会输出运动数据。
为了使用这个 frame source, Meta MRUK (Mixed Reality Utility Kit) 是必需的。你需要根据官方文档配置 Meta MRUK。
- MotionInputData
运动输入数据。 包含、时间戳、相对于世界坐标系的变换和跟踪状态。
- MotionTrackerFrameSource
在场景中控制easyar.MotionTrackerCameraDevice的MonoBehaviour,在Unity环境下提供功能扩展。
这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。
- ObjectTarget
ObjectTarget表示3D object target,它可以被 `ObjectTracker`_ 所跟踪。 ObjectTarget的大小由 `obj` 文件决定。可以通过修改 `scale` 达到修改size的目的。 `scale` 默认为1。 ObjectTarget通过 `ObjectTracker.loadTarget`_ 成功载入 `ObjectTracker`_ 之后可以被 `ObjectTracker`_ 检测和跟踪。
- ObjectTargetController
在场景中控制ObjectTarget的MonoBehaviour,在Unity环境下提供功能扩展。加载成功后可以使用Target访问target数据。
target的数据会单独加载,加载会在session成功启动后发生,生命周期中只会完整加载一次,如加载到一半session停止,将在下次session启动后再次加载。
- ObjectTargetController.ObjFileSourceData
创建target的obj文件数据。
- ObjectTargetController.SourceData
创建target的数据。
- ObjectTargetController.TargetSourceData
创建target的ObjectTarget数据。
- ObjectTargetParameters
ObjectTargetParameters表示创建 `ObjectTarget`_ 所需要的参数。
- ObjectTrackerFrameFilter
在场景中控制easyar.ObjectTracker的MonoBehaviour,在Unity环境下提供功能扩展。
- PicoFrameSource
在场景中将Pico的输出连接到EasyAR输入的自定义frame source。通过EasyAR Sense的自定义相机功能提供Pico支持。
这个frame source是一种运动跟踪设备,在ARSession中会输出运动数据。
为了使用这个frame source, ``PICO Unity Integration SDK`` 是必需的。你需要根据官方文档配置PICO Unity Integration SDK。
- 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.SessionBrokenException
Session 损坏具体异常。
- SparseSpatialMapBuildTargetController
在场景中控制easyar.SparseSpatialMap生成的地图的MonoBehaviour。
- SparseSpatialMapBuilderFrameFilter
在场景中控制easyar.SparseSpatialMap的MonoBehaviour,提供easyar.SparseSpatialMap的建图功能。
- SparseSpatialMapController
在场景中由easyar.SparseSpatialMap跟踪的地图的MonoBehaviour。
- SparseSpatialMapController.MapManagerSourceData
创建map的MapManager来源。
- SparseSpatialMapController.SourceData
创建target的数据。
- SparseSpatialMapPointCloudRenderer
渲染稀疏空间地图点云成粒子。
- SparseSpatialMapTrackerFrameFilter
在场景中控制easyar.SparseSpatialMap的MonoBehaviour,提供easyar.SparseSpatialMap的定位跟踪功能。
- SparseSpatialMapWorkerFrameFilter
在场景中控制easyar.SparseSpatialMap的MonoBehaviour,在Unity环境下提供功能扩展。
- SurfaceTargetController
在场景中控制surface target的MonoBehaviour。surface target是一个虚拟的节点,它表示在表面跟踪中,camera移动的相对节点。
- SurfaceTrackerFrameFilter
在场景中控制easyar.SurfaceTracker的MonoBehaviour,在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且关闭多线程渲染时可用。
- 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>
- LocationResult
位置读数。
latitude, longitude单位为度。 altitude单位为米。 horizontalAccuracy为水平方向精度,单位为米。 verticalAccuracy为重力方向精度,单位为米。 </p>
- Matrix33F
三阶方阵。数据的排列方式为row-major。
- Matrix44F
四阶方阵。数据的排列方式为row-major。
- ProximityLocationResult
邻近位置读数。
x, y, z单位为米。原点为地图块原点。y向上。 accuracy单位为米。 timestamp, validTime单位为秒。 is2d表示是否不使用y。 </p>
- Vec2F
二维float向量。
- Vec2I
二维int向量。
- Vec3F
三维float向量。
- Vec4F
四维float向量。
接口
- IDisplay
显示设备接口。
枚举
- ARSession.ARCenterMode
AR中心模式。
*注意:在EasyAR Sense Unity Plugin中总共有四种中心模式。在其它AR框架比如AR Foundation中可能并不存在类似的概念,通常它们里面的物体间相对关系的行为与这里的*SessionOrigin*模式一致。*
Camera和一部分AR组件之间的相对transform是受session控制的,其中的一个物体被称为CenterObject,它在场景中不动,其它物体相对这个CenterObject运动。这个物体是根据CenterMode的数值进行选择的。
CenterObject 表示在Unity空间中不运动的物体或这个物体的父节点。它可能是 Origin,Camera 或某个 `target` 。 `Target` 可以是包含TargetController组件的物体。在使用稀疏空间地图和EasyAR Mega的时候,实际的中心GameObject是root节点下具体定位到的map或block物体,CenterObject 是这个物体的父节点。
在FirstTarget 或 SpecificTarget模式下,当 `target` 在某一帧中未被识别到或丢失的时候,CenterObject 可能会变成其它 `target` ,而如果在帧内找不到 `target` ,CenterObject会按先后顺序退变为SessionOrigin和Camera里面第一个可用的模式的中心。
`Target` 和Camera的相对位置关系由当前session控制。Origin 和Camera的相对位置关系,在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 的排序方法。
- AxisSystemType
坐标轴系统类型。
- CameraDeviceFrameSource.CameraDeviceOpenMethod
easyar.CameraDevice开启方式。
- CameraDeviceType
相机设备类型。
- CameraModelType
相机模型类型。
- CameraTransformType
相机变换类型。
- DiagnosticsController.SessionDumpOutputMode
会话状态转储输出模式。
- EasyARSettings.ARCoreType
ARCore SDK配置。
- EasyARSettings.AREngineType
AREngine SDK配置。
- EasyARSettings.LibVariantConfig.AndroidVariant
EasyAR Sense Android库变种。
- EasyARSettings.LibVariantConfig.IOSVariant
EasyAR Sense iOS库变种。
- EasyARSettings.LibVariantConfig.VisionOSVariant
EasyAR Sense visionOS 库变种。
- 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
内部数据格式。
- MegaApiType
MEGA API类型。
- MegaGoTargetLoadStatus
Mega Go target 加载状态。
- MegaGoTrackerError
MegaGoTracker 错误。
- MegaGoTrackerOutputUpdateStatus
MegaGoTracker 定位响应对输出的更新情况。
- MegaGoTrackerStatus
MegaGoTracker 运行状态。
- MegaInputFrameLevel
使用Mega功能时输入帧的等价CameraTransformType的等价自由度。
- MegaLocationInputMode
Mega 位置输入模式。
- MegaServiceAccessSourceType
Mega 服务访问数据源类型。
- MotionTrackingStatus
描述设备运动跟踪的质量。
- PathType
路径类型。
- PixelFormat
PixelFormat表示图像像素格式。所有格式的像素方向均为从左到右,从上到下的。
- SessionReport.SessionBrokenReason
Session 损坏原因。
- StorageType
StorageType表示图像、json文件、视频或其它文件的存放位置。 StorageType指定了文件存放的根目录,你可以在所有相关接口中使用相对于这个根目录的相对路径。
- VideoRecorder.RecordZoomMode
视频缩放模式。
- VideoRecorder.VideoOrientation
录屏视频朝向。
- VideoRecorder.VideoSize
视频尺寸。
- WritablePathType
文件输出路径类型。